Initial revision of NDB Cluster files

parent 7d9a9fd9

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

...@@ -76,6 +76,7 @@ konstantin@mysql.com ...@@ -76,6 +76,7 @@ konstantin@mysql.com
kostja@oak.local kostja@oak.local
lenz@kallisto.mysql.com lenz@kallisto.mysql.com
lenz@mysql.com lenz@mysql.com
magnus@neptunus.(none)
marko@hundin.mysql.fi marko@hundin.mysql.fi
miguel@hegel.(none) miguel@hegel.(none)
miguel@hegel.br miguel@hegel.br
......
#
# 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/AttrType.hpp
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
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))
CCFLAGS_TOP += -DHAVE_STRCASECMP
endif
ifeq ($(NDB_OS), WIN32)
CCFLAGS_TOP += -DHAVE_STRDUP
NDB_STRLCPY := Y
NDB_STRLCAT := Y
SHLIBEXT := dll
endif
ifeq ($(NDB_OS), LINUX)
CCFLAGS_TOP += -DHAVE_STRDUP
NDB_STRLCAT := Y
NDB_STRLCPY := Y
SHLIBEXT := so
endif
ifeq ($(NDB_OS), SOLARIS)
CCFLAGS_TOP += -DHAVE_STRDUP
NDB_STRLCAT := Y
NDB_STRLCPY := Y
SHLIBEXT := so
endif
ifeq ($(NDB_OS), HPUX)
CCFLAGS_TOP += -DHAVE_STRDUP
NDB_STRLCAT := Y
NDB_STRLCPY := Y
SHLIBEXT := sl
endif
ifeq ($(NDB_OS), MACOSX)
CCFLAGS_TOP += -DHAVE_STRLCAT
CCFLAGS_TOP += -DHAVE_STRLCAT
CCFLAGS_TOP += -DHAVE_STRLCPY
CCFLAGS_TOP += -DNDBOUT_UINTPTR
SHLIBEXT := dylib
endif
ifeq ($(NDB_OS), OSE)
NDB_STRDUP := Y
NDB_STRLCAT := Y
NDB_STRLCPY := Y
SHLIBEXT := so
endif
ifeq ($(NDB_OS), SOFTOSE)
NDB_STRDUP := Y
NDB_STRLCAT := Y
NDB_STRLCPY := Y
SHLIBEXT := so
endif
ifeq ($(NDB_SCI), Y)
CCFLAGS_TOP += -DHAVE_SCI
endif
ifneq ($(findstring OSE, $(NDB_OS)),)
USE_EDITLINE := N
endif
This diff is collapsed.
include .defs.mk
DIRS := src test tools examples
# hack before full autoconf
replace-targets := all clean
NDB_RELEASE := $(shell ../scripts/mysql_config --version)
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
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
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
#!/bin/sh
# NAME
# check-regression.sh
#
# SYNOPSIS
# check-regression.sh
#
# DESCRIPTION
#
# This scrip must be run before any major cvs checkins are done.
# It will perform a number of regression tests to check that
# nothing is broken.
#
# OPTIONS
#
# EXAMPLES
#
#
# ENVIRONMENT
# NDB_PROJ_HOME Home dir for ndb
# verbose verbose printouts
#
# FILES
# $NDB_PROJ_HOME/lib/funcs.sh general shell script functions
#
#
# SEE ALSO
#
# DIAGNOSTICTS
#
#
# VERSION
# 1.0
#
# AUTHOR
#
#
. $NDB_PROJ_HOME/lib/funcs.sh # Load some good stuff
synopsis="check-regression.sh"
progname=`basename $0`
numOfTestsOK=0
numOfTestsFailed=0
LOG=check-regression.`date '+%Y-%m-%d'`
executeTest()
{
eval "$@" | tee -a $LOG
if [ $? -eq 0 ]
then
echo "SUCCESS: $@"
numOfTestsOK=`expr $numOfTestsOK + 1`
else
echo "FAILED: $@"
numOfTestsFailed=`expr $numOfTestsFailed + 1`
fi
}
#
# INFO
#
trace "Starting: `date`"
trace "NDB_PROJ_HOME = $NDB_PROJ_HOME"
trace "NDB_TOP = $NDB_TOP"
#
# THE TESTS TO EXECUTE
#
# Testsuite: testDataBuffers
# Number of tests: 1
executeTest 'drop_tab ' TB00 TB01 TB02 TB03 TB04 TB05 TB06 TB07 TB08 TB09 TB10 TB11 TB12 TB13 TB14 TB15
executeTest 'testDataBuffers'
executeTest 'drop_tab ' TB00 TB01 TB02 TB03 TB04 TB05 TB06 TB07 TB08 TB09 TB10 TB11 TB12 TB13 TB14 TB15
TABLES="T9 T13"
# Testsuite: testBasic
# Number of tests: 16
executeTest 'testBasic -n PkInsert' $TABLES
executeTest 'testBasic -n PkRead' $TABLES
executeTest 'testBasic -n PkUpdate' $TABLES
executeTest 'testBasic -n PkDelete' $TABLES
#executeTest 'testBasic -n UpdateAndRead'
#executeTest 'testBasic -n PkReadAndLocker'
#executeTest 'testBasic -n PkReadAndLocker2'
#executeTest 'testBasic -n PkReadUpdateAndLocker'
#executeTest 'testBasic -n ReadWithLocksAndInserts'
#executeTest 'testBasic -n ReadConsistency'
#executeTest 'testBasic -n PkInsertTwice'
#executeTest 'testBasic -n Fill'
#executeTest 'testBasic -n FillTwice'
#executeTest 'testBasic -n NoCommitSleep'
#executeTest 'testBasic -n NoCommit626'
#executeTest 'testBasic -n NoCommitAndClose'
# Testsuite: testBasicAsynch
# Number of tests: 4
executeTest 'testBasicAsynch -n PkInsertAsynch' $TABLES
executeTest 'testBasicAsynch -n PkReadAsynch' $TABLES
executeTest 'testBasicAsynch -n PkUpdateAsynch' $TABLES
executeTest 'testBasicAsynch -n PkDeleteAsynch' $TABLES
# Testsuite: testDict
# Number of tests: 6
#executeTest 'testDict -n CreateAndDrop'
#executeTest 'testDict -n CreateAndDropWithData'
#executeTest 'testDict -n CreateAndDropDuring'
#executeTest 'testDict -n CreateInvalidTables'
#executeTest 'testDict -n CreateTableWhenDbIsFull'
#executeTest 'testDict -n CreateMaxTables'
# Testsuite: testScan
# Number of tests: 34
#executeTest 'testScan -n ScanRead'
#executeTest 'testScan -n ScanRead16'
executeTest 'testScan -n ScanRead240' $TABLES
executeTest 'testScan -n ScanUpdate' $TABLES
executeTest 'testScan -n ScanUpdate2' $TABLES
executeTest 'testScan -n ScanDelete' $TABLES
executeTest 'testScan -n ScanDelete2' $TABLES
#executeTest 'testScan -n ScanUpdateAndScanRead'
#executeTest 'testScan -n ScanReadAndLocker'
#executeTest 'testScan -n ScanReadAndPkRead'
#executeTest 'testScan -n ScanRead488'
#executeTest 'testScan -n ScanWithLocksAndInserts'
#executeTest 'testScan -n ScanReadAbort'
#executeTest 'testScan -n ScanReadAbort15'
#executeTest 'testScan -n ScanReadAbort16'
#executeTest 'testScan -n ScanUpdateAbort16'
#executeTest 'testScan -n ScanReadAbort240'
#executeTest 'testScan -n ScanReadRestart'
#executeTest 'testScan -n ScanReadRestart16'
#executeTest 'testScan -n ScanReadRestart32'
#executeTest 'testScan -n ScanUpdateRestart'
#executeTest 'testScan -n ScanUpdateRestart16'
#executeTest 'testScan -n CheckGetValue'
#executeTest 'testScan -n CloseWithoutStop'
#executeTest 'testScan -n NextScanWhenNoMore'
#executeTest 'testScan -n ExecuteScanWithoutOpenScan'
#executeTest 'testScan -n OnlyOpenScanOnce'
#executeTest 'testScan -n OnlyOneOpInScanTrans'
#executeTest 'testScan -n OnlyOneOpBeforeOpenScan'
#executeTest 'testScan -n OnlyOneScanPerTrans'
#executeTest 'testScan -n NoCloseTransaction'
#executeTest 'testScan -n CheckInactivityTimeOut'
#executeTest 'testScan -n CheckInactivityBeforeClose'
#executeTest 'testScan -n CheckAfterTerror'
# Testsuite: testScanInterpreter
# Number of tests: 1
#executeTest 'testScanInterpreter -n ScanLessThan'
TABLES="T6 T13"
# Testsuite: testSystemRestart
# Number of tests: 4
executeTest 'testSystemRestart -l 1 -n SR1' $TABLES
executeTest 'testSystemRestart -l 1 -n SR2' $TABLES
#executeTest 'testSystemRestart -n SR_UNDO'
#executeTest 'testSystemRestart -n SR_FULLDB'
# TESTS FINISHED
trace "Finished: `date`"
#
# TEST SUMMARY
#
if [ $numOfTestsFailed -eq 0 ]
then
echo "-- REGRESSION TEST SUCCESSFUL --"
else
echo "-- REGRESSION TEST FAILED!! --"
fi
echo "Number of successful tests: $numOfTestsOK"
echo "Number of failed tests : $numOfTestsFailed"
#!/bin/sh
rm $1
touch $1
echo "<table border="1" width=640>" >> $1
echo "<tr>" >> $1
echo "<td><b>Name</b></td><td>&nbsp;</td><td width="70%"><b>Description</b></td>" >> $1
echo "</tr>" >> $1
testBasic --print_html >> $1
testBackup --print_html >> $1
testBasicAsynch --print_html >> $1
testDict --print_html >> $1
testBank --print_html >> $1
testIndex --print_html >> $1
testNdbApi --print_html >> $1
testNodeRestart --print_html >> $1
testOperations --print_html >> $1
testRestartGci --print_html >> $1
testScan --print_html >> $1
testScanInterpreter --print_html >> $1
testSystemRestart --print_html >> $1
echo "</table>" >> $1
#!/bin/sh
if [ -z "$MYSQLCLUSTER_TOP" -o ! -d "$MYSQLCLUSTER_TOP" ]; then
echo "MYSQLCLUSTER_TOP not set or directory does not exist"
exit 1
fi
if [ -z "$MYSQLCLUSTER_TOP" -o ! -d "$MYSQLCLUSTER_TOP/ndb" ]; then
echo "$MYSQLCLUSTER_TOP/ndb directory does not exist"
exit 1
fi
mysql --socket=$MYSQLCLUSTER_TOP/data/mysqlcluster.sock $*
#!/bin/sh
NDB_HOME=
export NDB_CONNECTSTRING
if [ -z "$MYSQLCLUSTER_TOP" ]; then
echo "MYSQLCLUSTER_TOP not set"
exit 1
fi
if [ -d "$MYSQLCLUSTER_TOP" ]; then :; else
echo "$MYSQLCLUSTER_TOP directory does not exist"
exit 1
fi
if [ -d "$MYSQLCLUSTER_TOP/ndb" ]; then :; else
echo "$MYSQLCLUSTER_TOP/ndb directory does not exist"
exit 1
fi
start_default_ndbcluster() {
# configurable parameters, make sure to change in mysqlcluterd as well
MYSQLCLUSTER_FILESYSTEM=$MYSQLCLUSTER_TOP/data/mysqlclusterfs
MYSQLCLUSTER_PORT_BASE="22" # using ports MYSQLCLUSTER_PORT_BASE{"00","01", etc}
# end configurable parameters
# do some checks
NDB_CONNECTSTRING=
[ -d "$MYSQLCLUSTER_FILESYSTEM" ] || mkdir "$MYSQLCLUSTER_FILESYSTEM"
if [ -d "$MYSQLCLUSTER_FILESYSTEM" ]; then :; else
echo "$MYSQLCLUSTER_FILESYSTEM filesystem directory does not exist"
exit 1
fi
# set som help variables
NDB_HOST="localhost"
NDB_PORT=$MYSQLCLUSTER_PORT_BASE"00"
NDB_CONNECTSTRING_BASE="host=$NDB_HOST:$NDB_PORT;nodeid="
# Edit file system path and ports in config file
cd $MYSQLCLUSTER_FILESYSTEM
sed \
-e s,"WRITE_PATH_TO_FILESYSTEM_2_HERE",$MYSQLCLUSTER_FILESYSTEM,g \
-e s,"CHOOSE_PORT_BASE",$MYSQLCLUSTER_PORT_BASE,g \
< $MYSQLCLUSTER_TOP/ndb/demos/config-templates/config_template-install.ini \
> config.ini
# Start management server as deamon
NDB_ID="1"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
#xterm -e mgmtsrvr -c $MYSQLCLUSTER_FILESYSTEM/config.ini &
if mgmtsrvr -d -c $MYSQLCLUSTER_FILESYSTEM/config.ini ; then :; else
echo "Unable to start mgmtsrvr"
exit 1
fi
# Start database node
cd $MYSQLCLUSTER_FILESYSTEM # the output from the database node gets where it starts
NDB_ID="2"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
#xterm -T "NDB Cluster DB Node" -geometry 80x10 -xrm *.hold:true -e ndb -i &
ndb -d -i &
# Start xterm for application programs
NDB_ID="3"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
#xterm -T "NDB Cluster API Node" -geometry 80x10 &
echo set before running ndbApi programs > export NDB_CONNECTSTRING=$NDB_CONNECTSTRING
# Start management client
#xterm -T "NDB Management Client" -geometry 80x10 -xrm *.hold:true -e mgmtclient $NDB_HOST $NDB_PORT &
echo "NDB Management Client starts with: mgmtclient $NDB_HOST $NDB_PORT"
# test if Ndb Cluster starts properly
NDB_ID="11"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
if list_tables | grep "NDBT_ProgramExit: 0 - OK"; then :; else
echo "Ndbcluster startup failed"
exit 1
fi
}
start_mysql_install_db() {
# run install of regular MySQL Server
cd $MYSQLCLUSTER_TOP
scripts/mysql_install_db --basedir=$MYSQLCLUSTER_TOP --datadir=$MYSQLCLUSTER_TOP/data --socket=$MYSQLCLUSTER_TOP/data/mysqlcluster.sock $*
}
if test "$1" = "ndb_started"
then
shift
mgmt_host=$1
shift
mgmt_port=$1
shift
if [ -z "$mgmt_host" -o -z "$mgmt_port" ]; then
echo "syntax: ndb_started hostname port"
exit 1
fi
NDB_CONNECTSTRING="host=$mgmt_host:$mgmt_port;nodeid=11"
echo using NDB_CONNECTSTRING=$NDB_CONNECTSTRING
start_mysql_install_db $*
else
start_default_ndbcluster
start_mysql_install_db
fi
#!/bin/sh
# configurable parameters
MYSQLCLUSTER_PORT_BASE="22"
# end configurable parameters
if [ -z "$MYSQLCLUSTER_TOP" -o ! -d "$MYSQLCLUSTER_TOP" ]; then
echo "MYSQLCLUSTER_TOP not set or directory does not exist"
exit 1
fi
if [ -z "$MYSQLCLUSTER_TOP" -o ! -d "$MYSQLCLUSTER_TOP/ndb" ]; then
echo "$MYSQLCLUSTER_TOP/ndb directory does not exist"
exit 1
fi
if test "$1" = "ndb_started"
then
shift
mgmt_host=$1
shift
mgmt_port=$1
shift
if [ -z "$mgmt_host" -o -z "$mgmt_port" ]; then
echo "syntax: ndb_started hostname port"
exit 1
fi
NDB_CONNECTSTRING="host=$mgmt_host:$mgmt_port;nodeid=11"
echo using NDB_CONNECTSTRING=$NDB_CONNECTSTRING
else
NDB_CONNECTSTRING="host=localhost:"$MYSQLCLUSTER_PORT_BASE"00;nodeid=11"
fi
export NDB_CONNECTSTRING
mysqld --default-table-type=ndbcluster --basedir=$MYSQLCLUSTER_TOP --datadir=$MYSQLCLUSTER_TOP/data --socket=$MYSQLCLUSTER_TOP/data/mysqlcluster.sock $*
This diff is collapsed.
VERSION_FLAGS := -DNDB_DEBUG -DUSE_EMULATED_JAM -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD
#-DDEBUG_TRANSPORTER
###
#
# 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)
###
#
# 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)
###
#
# Defines
SHELL := /bin/sh
C++ := g++$(GCC_VERSION)
CC := gcc$(GCC_VERSION)
AR_RCS := $(PURE) ar rcs
SO := gcc$(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 = -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
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 = -lpthread -lrt -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
###
#
# 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)
###
#
# 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)
###
#
# 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++
###
#
# 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)
VERSION_FLAGS := -DNDB_RELEASE -DUSE_EMULATED_JAM -DNDEBUG
VERSION_FLAGS := -DNDB_RELEASE -DUSE_EMULATED_JAM -DNDEBUG -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD
###
#
# 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)
###
#
# 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)
###
#
# 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)
###
#
# 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
###
#
# 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)
###
#
# 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)
###
#
# 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)
###
#
# 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)\include"`" -I"`cygpath -u "$(MSVCDIR)\PlatformSDK\include"`" $(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
#! /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
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
val=N
if [ -f /usr/include/sqlext.h -o -f /usr/local/include/sqlext.h ]
then
val=Y
fi
case $NDB_OS in
LINUX)
NDB_ODBC=$val
;;
MACOSX)
NDB_ODBC=$val
;;
*)
NDB_ODBC=N
;;
esac
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
# Allow for selecting GCC, but must be 2nd parameter
if [ $# -gt 1 -a "$2" = "-GCC" ]
then
NDB_COMPILER=GCC
fi
(
echo "# This file was automatically generated `date`"
echo "NDB_OS := $NDB_OS"
echo "NDB_ARCH := $NDB_ARCH"
echo "NDB_COMPILER := $NDB_COMPILER"
if [ $# -gt 0 -a "$1" = "-R" ]
then
echo "NDB_VERSION := RELEASE"
else
echo "NDB_VERSION := DEBUG"
fi
echo "NDB_SCI := $NDB_SCI"
echo "NDB_ODBC := $NDB_ODBC"
echo "TERMCAP_LIB := $TERMCAP_LIB"
) > $NDB_TOP/config/config.mk
exit 0
# 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:
This diff is collapsed.
This diff is collapsed.
OwnProcessId 3
127.0.0.1 10000
OwnProcessId 2
127.0.0.1 10000
OwnProcessId 1
127.0.0.1 10000
###############################################################################
#
# Initial system configuration file for MySQL Cluster v3.1.0 (Demo 1)
#
###############################################################################
[DB DEFAULT]
NoOfReplicas: 1
#LockPagesInMainMemory: Y
StopOnError: Y
#MaxNoOfConcurrentOperations: 1024
#MaxNoOfConcurrentTransactions: 1024
NoOfIndexPages: 1500
NoOfDataPages: 5000
#TimeBetweenLocalCheckpoints: 20
#TimeBetweenGlobalCheckpoints: 1500
#NoOfFragmentLogFiles: 8
BackupMemory: 4M
BackupDataBufferSize: 2M
BackupLogBufferSize: 2M
BackupWriteSize: 32k
[COMPUTER]
Id: 1
ByteOrder: Little
HostName: localhost
[MGM]
Id: 1
ExecuteOnComputer: 1
PortNumber: 10000
PortNumberStats: 10001
[DB]
Id: 2
ExecuteOnComputer: 1
FileSystemPath: WRITE_PATH_TO_FILESYSTEM_2_HERE
[API]
Id: 3
ExecuteOnComputer: 1
# Designated MySQL Server API node id
[API]
Id: 11
ExecuteOnComputer: 1
[TCP DEFAULT]
SendSignalId: N
Compression: N
Checksum: N
SendBufferSize: 2000
MaxReceiveSize: 2000
[TCP]
NodeId1: 1
NodeId2: 2
PortNumber: 10002
[TCP]
NodeId1: 2
NodeId2: 3
PortNumber: 10003
# Designated MySQL Server API node connection
[TCP]
NodeId1: 2
NodeId2: 11
PortNumber: 10011
OwnProcessId 4
127.0.0.1 10000
OwnProcessId 5
127.0.0.1 10000
OwnProcessId 6
127.0.0.1 10000
OwnProcessId 7
127.0.0.1 10000
OwnProcessId 2
127.0.0.1 10000
OwnProcessId 3
127.0.0.1 10000
OwnProcessId 1
127.0.0.1 10000
###############################################################################
#
# Initial system configuration file for MySQL Cluster v3.1.0 (Demo 2)
#
###############################################################################
[COMPUTER]
Id: 1
ByteOrder: Little
HostName: localhost
[COMPUTER]
Id: 2
ByteOrder: Little
HostName: localhost
[MGM]
Id: 1
ExecuteOnComputer: 1
PortNumber: 10000
PortNumberStats: 10001
ArbitrationRank: 1
[DB DEFAULT]
NoOfReplicas: 2
#LockPagesInMainMemory: N
StopOnError: N
#MaxNoOfConcurrentOperations: 1024
#MaxNoOfConcurrentTransactions: 1024
NoOfIndexPages: 200
NoOfDataPages: 600
#TimeBetweenLocalCheckpoints: 20
#TimeBetweenGlobalCheckpoints: 1500
#NoOfFragmentLogFiles: 8
BackupMemory: 4M
BackupDataBufferSize: 2M
BackupLogBufferSize: 2M
BackupWriteSize: 32k
[DB]
Id: 2
ExecuteOnComputer: 1
FileSystemPath: WRITE_PATH_TO_FILESYSTEM_2_HERE
[DB]
Id: 3
ExecuteOnComputer: 2
FileSystemPath: WRITE_PATH_TO_FILESYSTEM_3_HERE
[API DEFAULT]
ArbitrationRank: 1
[API]
Id: 4
ExecuteOnComputer: 1
[API]
Id: 5
ExecuteOnComputer: 1
[API]
Id: 6
ExecuteOnComputer: 2
[API]
Id: 7
ExecuteOnComputer: 2
# Designated MySQL Server API node id
[API]
Id: 11
ExecuteOnComputer: 1
# Designated MySQL Server API node id
[API]
Id: 12
ExecuteOnComputer: 2
[TCP]
NodeId1: 1
NodeId2: 2
PortNumber: 10002
[TCP]
NodeId1: 1
NodeId2: 3
PortNumber: 10003
[TCP]
NodeId1: 2
NodeId2: 3
PortNumber: 10004
[TCP]
NodeId1: 2
NodeId2: 4
PortNumber: 10005
[TCP]
NodeId1: 2
NodeId2: 5
PortNumber: 10006
[TCP]
NodeId1: 2
NodeId2: 6
PortNumber: 10007
[TCP]
NodeId1: 2
NodeId2: 7
PortNumber: 10008
[TCP]
NodeId1: 3
NodeId2: 4
PortNumber: 10009
[TCP]
NodeId1: 3
NodeId2: 5
PortNumber: 10010
[TCP]
NodeId1: 3
NodeId2: 6
PortNumber: 10011
[TCP]
NodeId1: 3
NodeId2: 7
PortNumber: 10012
# Designated MySQL Server API node connection
[TCP]
NodeId1: 2
NodeId2: 11
PortNumber: 10013
# Designated MySQL Server API node connection
[TCP]
NodeId1: 3
NodeId2: 11
PortNumber: 10014
# Designated MySQL Server API node connection
[TCP]
NodeId1: 2
NodeId2: 12
PortNumber: 10015
# Designated MySQL Server API node connection
[TCP]
NodeId1: 3
NodeId2: 12
PortNumber: 10016
###############################################################################
#
# Initial system configuration file for MySQL Cluster v3.1.0 (Demo 1)
#
###############################################################################
[DB DEFAULT]
NoOfReplicas: 1
StopOnError: Y
NoOfIndexPages: 1500
NoOfDataPages: 5000
BackupMemory: 4M
BackupDataBufferSize: 2M
BackupLogBufferSize: 2M
BackupWriteSize: 32k
[COMPUTER]
Id: 1
ByteOrder: Little
HostName: CHOOSE_HOSTNAME
[EXTERNAL SYSTEM]
Name: External
[MGM]
Id: 1
ExecuteOnComputer: 1
PortNumber: CHOOSE_PORT_BASE00
PortNumberStats: CHOOSE_PORT_BASE01
[DB]
Id: 2
ExecuteOnComputer: 1
FileSystemPath: WRITE_PATH_TO_FILESYSTEM_2_HERE
[API]
Id: 3
ExecuteOnComputer: 1
[REP]
Id: CHOOSE_REP_ID
ExecuteOnComputer: 1
[EXTERNAL REP]
Id: CHOOSE_EXTREP_ID
System: External
# Designated MySQL Server API node id
[API]
Id: 11
ExecuteOnComputer: 1
[TCP DEFAULT]
SendSignalId: N
Compression: N
Checksum: N
SendBufferSize: 2000
MaxReceiveSize: 2000
[TCP]
NodeId1: 1
NodeId2: 2
PortNumber: CHOOSE_PORT_BASE02
[TCP]
NodeId1: 2
NodeId2: 3
PortNumber: CHOOSE_PORT_BASE03
[TCP]
NodeId1: 2
NodeId2: CHOOSE_REP_ID
PortNumber: CHOOSE_PORT_BASE04
[TCP]
Hostname1: CHOOSE_HOSTNAME
Hostname2: CHOOSE_EXTHOSTNAME
NodeId1: CHOOSE_REP_ID
NodeId2: External.CHOOSE_EXTREP_ID
PortNumber: 10099
# Designated MySQL Server API node connection
[TCP]
NodeId1: 2
NodeId2: 11
PortNumber: CHOOSE_PORT_BASE11
This diff is collapsed.
This diff is collapsed.
echo $NDB_HOST $NDB_EXTHOST
NDB_PORT=$NDB_PORT_BASE"00"
NDB_CONNECTSTRING_BASE="host=$NDB_HOST:$NDB_PORT;nodeid="
# Edit file system path
cd $NDB_DEMO
sed -e s,"WRITE_PATH_TO_FILESYSTEM_2_HERE",$NDB_DEMO/filesystem,g \
-e s,"CHOOSE_HOSTNAME",$NDB_HOST,g\
-e s,"CHOOSE_EXTHOSTNAME",$NDB_EXTHOST,g\
-e s,"CHOOSE_PORT_BASE",$NDB_PORT_BASE,g\
-e s,"CHOOSE_REP_ID",$NDB_REP_ID,g\
-e s,"CHOOSE_EXTREP_ID",$NDB_EXTREP_ID,g\
< ../config-templates/config_template-1-REP.ini > config.ini
# Start management server as deamon
NDB_ID="1"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
export NDB_CONNECTSTRING
if mgmtsrvr -d -c config.ini ; then :; else
echo "Unable to start mgmtsrvr"
exit 1
fi
# Start database node
NDB_ID="2"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
export NDB_CONNECTSTRING
xterm -T "$NDB_DEMO_NAME DB Node $NDB_ID" -geometry 80x10 -xrm *.hold:true -e ndb -i &
# Start xterm for application programs
NDB_ID="3"
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
export NDB_CONNECTSTRING
xterm -T "$NDB_DEMO_NAME API Node $NDB_ID" -geometry 80x10 &
# Start xterm for rep node
NDB_ID=$NDB_REP_ID
NDB_CONNECTSTRING=$NDB_CONNECTSTRING_BASE$NDB_ID
export NDB_CONNECTSTRING
xterm -T "$NDB_DEMO_NAME REP Node $NDB_ID" -geometry 80x10 -xrm *.hold:true -e ndb_rep &
# Start management client
xterm -T "$NDB_DEMO_NAME Mgmt Client" -geometry 80x10 -xrm *.hold:true -e mgmtclient $NDB_HOST $NDB_PORT &
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment