Commit 137bdcec authored by greg@mysql.com[greg]'s avatar greg@mysql.com[greg]

novell41.patch

parent f95eb829
#! /bin/sh
for package in . ./innobase
do
(cd $package
rm -rf config.cache autom4te.cache
aclocal
autoheader
libtoolize --force
aclocal
automake --add-missing --force-missing
autoconf)
done
#rm -rf ./bdb/build_unix/config.cache ./bdb/dist/autom4te.cache
#(cd ./bdb/dist && sh s_all)
#! /bin/sh
#debug
#set -x
if test ! -r ./sql/mysqld.cc
then
echo "you must start from the top source directory"
exit 1
fi
path=`dirname $0`
# clean
if test -e "Makefile"; then make -k clean; fi
# remove files
rm -f NEW-RPMS/*
rm -f */.deps/*.P
rm -f */*.linux
# run autotools
. $path/compile-AUTOTOOLS
# configure
./configure --without-innodb --without-docs
# build tools only
make clean config.h
(cd dbug; make libdbug.a)
(cd strings; make libmystrings.a)
(cd mysys; make libmysys.a)
(cd heap; make libheap.a)
(cd vio; make libvio.a)
(cd regex; make libregex.a)
(cd isam; make libnisam.a)
(cd merge; make libmerge.a)
(cd myisam; make libmyisam.a)
(cd myisammrg; make libmyisammrg.a)
(cd extra; make comp_err)
(cd libmysql; make conf_to_src)
(cd libmysql_r; make conf_to_src)
(cd sql; make gen_lex_hash)
(cd strings; make conf_to_src)
# copying required linux tools
cp extra/comp_err extra/comp_err.linux
cp libmysql/conf_to_src libmysql/conf_to_src.linux
cp libmysql_r/conf_to_src libmysql_r/conf_to_src.linux
cp sql/gen_lex_hash sql/gen_lex_hash.linux
cp strings/conf_to_src strings/conf_to_src.linux
#! /bin/sh
path=`dirname $0`
# clean
if test -e "Makefile"; then make -k clean; fi
# remove files
rm -f NEW-RPMS/*
rm -f */.deps/*.P
rm -rf Makefile.in.bk
# Metrowerks enviornment
. $path/mwenv
# run auto tools
. $path/compile-AUTOTOOLS
# configure
./configure $base_configs $extra_configs
# make
make clean bin-dist
# mark the build
for file in *.tar.gz
do
if (expr "$file" : "mysql-[1-9].*" > /dev/null)
then
new_file=`echo $file | sed -e "s/mysql-/mysql-$suffix-/"`
if test -e "$new_file"; then mv -f $new_file $new_file.old; fi
mv $file $new_file
fi
done
#! /bin/sh
#debug
#set -x
if test ! -r ./sql/mysqld.cc
then
echo "you must start from the top source directory"
exit 1
fi
path=`dirname $0`
# stop on errors
set -e
base_configs=" \
--host=i686-pc-netware \
--enable-local-infile \
--with-extra-charsets=latin1_de \
--prefix=N:/mysql \
"
#! /bin/sh
path=`dirname $0`
$path/compile-netware-standard
$path/compile-netware-debug
#$path/compile-netware-max
#$path/compile-netware-max-debug
#! /bin/sh
path=`dirname $0`
. $path/compile-netware-START
suffix="debug"
extra_configs=" \
--with-innodb \
--with-debug=full \
"
. $path/compile-netware-END
#! /bin/sh
path=`dirname $0`
. $path/compile-netware-START
suffix="standard"
extra_configs=" \
--with-innodb
"
. $path/compile-netware-END
#! /bin/sh
# WINE_BUILD_DIR, BUILD_DIR, and VERSION must be changed before compiling
# This values are normally changed by the nwbootstrap script
# the default for WINE_BUILD_DIR is "F:/mydev"
export MYDEV="WINE_BUILD_DIR"
export MWCNWx86Includes="$MYDEV/libc/include"
export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib"
export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib"
export WINEPATH="$MYDEV/mw/bin"
# the default for BUILD_DIR is "$HOME/mydev"
export PATH="$PATH:BUILD_DIR/mysql-VERSION/netware/BUILD"
export AR='mwldnlm'
export AR_FLAGS='-type library -o'
export AS='mwasmnlm'
export CC='mwccnlm -gccincludes'
export CFLAGS='-dialect c -proc 686 -bool on -relax_pointers -DUSE_OLD_FUNCTIONS'
export CXX='mwccnlm -gccincludes'
export CXXFLAGS='-dialect c++ -proc 686 -bool on -relax_pointers'
export LD='mwldnlm'
export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption'
export RANLIB=:
export STRIP=:
#! /bin/sh
# debug
#set -x
path=`dirname $0`
# stop on errors
set -e
# repository direcotry
repo_dir=`pwd`
# build direcotry
build_dir="$HOME/mydev"
wine_build_dir="F:/mydev"
# doc directory
doc_dir="$repo_dir/../mysqldoc"
# init
target_dir=""
temp_dir=""
revision=""
rev=""
build=""
mwenv=""
# show usage
show_usage()
{
cat << EOF
usage: nwbootstrap [options]
Exports a revision of the BitKeeper tree (nwbootstrap must be run inside a
directory of the BitKeeper tree to be used). Creates the ChangeLog file.
Adds the latest manual.texi from the mysqldoc BitKeeper tree. Builds the
Linux tools required for cross-platform builds. Optionally, builds the
binary distributions for NetWare.
options:
--build=<opt> Build the binary distributions for NetWare,
where <opt> is "standard", "debug", or "all"
(default is to not build a binary distribution)
--build-dir=<dir> Export the BitKeeper tree to the <dir> directroy
(default is "$build_dir")
--doc-dir=<dir> Use the mysqldoc BitKeeper tree located in the
<dir> directory
(default is parallel to current BitKeeper tree)
--help Show this help information
--revision=<rev> Export the BitKeeper tree as of revision <rev>
(default is the latest revision)
--wine-build-dir=<dir> Use the WINE directory <dir>, which should
correspond to the --build-dir directory
(default is "$wine_build_dir")
examples:
nwbootstrap
nwbootstrap --revision=1.1594 --build=all
nwbootstrap --build-dir=/home/jdoe/dev --wine-build-dir=F:/dev
EOF
exit 0;
}
# parse arguments
for arg do
case "$arg" in
--build-dir=*) build_dir=`echo "$arg" | sed -e "s;--build-dir=;;"` ;;
--wine-build-dir=*) wine_build_dir=`echo "$arg" | sed -e "s;--wine-build-dir=;;"` ;;
--revision=*) revision=`echo "$arg" | sed -e "s;--revision=;;"` ;;
--build=*) build=`echo "$arg" | sed -e "s;--build=;;"` ;;
--doc-dir=*) doc_dir=`echo "$arg" | sed -e "s;--doc-dir=;;"` ;;
*) show_usage ;;
esac
done
echo "starting build..."
# check for bk and repo_dir
bk help > /dev/null
repo_dir=`bk root $repo_dir`
cd $repo_dir
doc_dir="$repo_dir/../mysqldoc"
# build temporary directory
temp_dir="$build_dir/mysql-$$.tmp"
# export the bk tree
command="bk export";
if test $revision; then command="$command -r$revision"; fi
command="$command $temp_dir"
echo "exporting $repo_dir..."
$command
# determine version
version=`grep -e "AM_INIT_AUTOMAKE(mysql, .*)" < $temp_dir/configure.in | sed -e "s/AM_INIT_AUTOMAKE(mysql, \(.*\))/\1/"`
echo "version: $version"
# build target directory
target_dir="$build_dir/mysql-$version"
# delete any old target
if test -d $target_dir.old; then rm -rf $target_dir.old; fi
# rename old target
if test -d $target_dir; then mv -f $target_dir $target_dir.old; fi
# rename directory to use version
mv $temp_dir $target_dir
# create ChangeLog
if test $revision
then
rev=`bk changes -r..$revision -t -d':REV:' -n | head -2 | tail -1`
else
rev=`bk changes -t -d':REV:' -n | head -1`
fi
echo "creating ChangeLog..."
bk changes -v -r$rev > $target_dir/ChangeLog
# add the latest manual
if test -d $doc_dir
then
echo "adding the latest manual..."
install -m 644 $doc_dir/Docs/{manual,reservedwords}.texi $target_dir/Docs/
fi
# make files writeable
cd $target_dir
chmod -R u+rw,g+rw .
# edit the mvenv file
mwenv="./netware/BUILD/mwenv"
mv -f $mwenv $mwenv.org
sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
-e "s;BUILD_DIR;$build_dir;g" \
-e "s;VERSION;$version;g" $mwenv.org > $mwenv
chmod +rwx $mwenv
# build linux tools
echo "compiling linux tools..."
./netware/BUILD/compile-linux-tools
# compile
if test $build
then
echo "compiling $build..."
./netware/BUILD/compile-netware-$build
fi
echo "done"
LIBRARY LIBMYSQLD
DESCRIPTION 'MySQL 4.0 Embedded Server Library'
VERSION 4.0
EXPORTS
mysql_server_end
mysql_server_init
mysql_use_result
mysql_thread_safe
mysql_thread_id
mysql_store_result
mysql_stat
mysql_shutdown
mysql_select_db
mysql_row_tell
mysql_row_seek
mysql_real_query
mysql_real_connect
mysql_query
mysql_ping
mysql_options
mysql_num_rows
mysql_num_fields
mysql_list_tables
mysql_list_processes
mysql_list_fields
mysql_list_dbs
mysql_kill
mysql_insert_id
mysql_init
mysql_info
mysql_get_server_info
mysql_get_proto_info
mysql_get_host_info
mysql_get_client_info
mysql_free_result
mysql_field_tell
mysql_field_count
mysql_field_seek
mysql_fetch_row
mysql_fetch_lengths
mysql_fetch_fields
mysql_fetch_field_direct
mysql_fetch_field
mysql_escape_string
mysql_real_escape_string
mysql_error
mysql_errno
mysql_eof
mysql_dump_debug_info
mysql_drop_db
mysql_debug
mysql_data_seek
mysql_create_db
mysql_character_set_name
mysql_change_user
mysql_connect
mysql_close
mysql_affected_rows
mysql_thread_init
mysql_thread_end
mysql_send_query
mysql_read_query_result
mysql_refresh
mysql_odbc_escape_string
myodbc_remove_escape
#! /bin/sh
export MYDEV="F:/mydev"
export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV/zlib-1.1.4"
export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/zlib-1.1.4"
export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;libz.a"
export WINEPATH="$MYDEV/mw/bin"
export PATH="$PATH:$HOME/mydev/mysql-4.1/netware/mw"
#! /bin/sh
# show executed commands
# set -x
# stop on errors
set -e
BD=`pwd`
build=0
build_debug=0
skip_linux=0
# parse arguments
for arg do
case "$arg" in
--build) build=1 ;;
--build-debug) build_debug=1 ;;
--skip-linux) skip_linux=1 ;;
*) echo "$0: unrecognized option: $arg" ;;
esac
done
# run the auto tools
autotools()
{
for package in $BD $BD/innobase
do
echo "cd $package"
cd $package
rm -f config.cache
echo "aclocal"
aclocal
echo "autoheader"
autoheader
echo "libtoolize --force"
libtoolize --force
echo "aclocal"
aclocal
echo "automake --add-missing --force-missing"
automake --add-missing --force-missing
echo "autoconf"
autoconf
done
cd $BD
}
# check the source direcotry
echo "looking for \"$BD/sql/mysqld.cc\"..."
if test ! -r ./sql/mysqld.cc
then
echo "./netware/nwbootstrap must be started from the top source directory"
exit 1
fi
# clean
# make -j 2 -k distclean
rm -f NEW-RPMS/*
rm -f */.deps/*.P
# make files writeable
chmod -R u+rw,g+rw .
# skip linux?
if test $skip_linux -ne 1
then
echo "starting linux build..."
echo "autotools..."
autotools
echo "configuring for linux..."
./configure --without-docs --without-innodb
echo "building for linux..."
make clean all
echo "copying required linux binaries..."
rm -f */*.linux
cp extra/comp_err extra/comp_err.linux
cp libmysql/conf_to_src libmysql/conf_to_src.linux
cp libmysql/conf_to_src libmysql_r/conf_to_src.linux
cp sql/gen_lex_hash sql/gen_lex_hash.linux
cp strings/conf_to_src strings/conf_to_src.linux
echo "cleaning linux build..."
make clean distclean
fi
echo "starting netware build..."
# remove stale Makefile.in.bk files
rm -rf Makefile.in.bk
# start mw enviornment
chmod +x ./netware/nwconfigure
chmod +x ./netware/mw/mwenv
chmod +x ./netware/mw/mwasmnlm
chmod +x ./netware/mw/mwccnlm
chmod +x ./netware/mw/mwldnlm
. ./netware/mw/mwenv
# link nwconfigure
rm -f ./nwconfigure
ln ./netware/nwconfigure ./nwconfigure
# save old builds from previous run
if test -e *.tar.gz
then
rm -f *.tar.gz.old
rename .tar.gz .tar.gz.old *.tar.gz
fi
echo "autotools..."
autotools
# debug build
if test $build_debug -eq 1
then
echo "configuring for netware (debug)..."
./nwconfigure --with-debug=full
echo "building for netware (debug)..."
make clean bin-dist
# mark the debug build
rename .tar.gz -debug.tar.gz *.tar.gz
fi
# release build
if test $build -eq 1
then
echo "configuring for netware..."
./nwconfigure
echo "building for netware..."
make clean bin-dist
fi
echo "done"
#! /bin/sh
CMD="\
AR='mwldnlm' \
AR_FLAGS='-type library -o' \
AS='mwasmnlm' \
CC='mwccnlm -gccincludes' \
CFLAGS='-dialect c -proc 686 -bool on -relax_pointers -DUSE_OLD_FUNCTIONS' \
CXX='mwccnlm -gccincludes' \
CXXFLAGS='-dialect c++ -proc 686 -bool on -relax_pointers' \
LD='mwldnlm' \
LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' \
RANLIB=: \
STRIP=: \
./configure --host=i686-pc-netware $* \
--without-docs \
--enable-local-infile \
--with-extra-charsets=latin1_de \
--prefix=N:/mysql \
"
#rm -f config.cache config.log config.status
echo $CMD
eval $CMD
...@@ -64,16 +64,17 @@ case $system in ...@@ -64,16 +64,17 @@ case $system in
esac esac
mkdir $BASE $BASE/bin $BASE/data $BASE/data/mysql $BASE/data/test \ mkdir $BASE $BASE/bin \
$BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \
$BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \ $BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \
$BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/include $BASE/mysql-test/std_data
if [ $BASE_SYSTEM != "netware" ] ; then if [ $BASE_SYSTEM != "netware" ] ; then
mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man $BASE/man/man1 mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \
fi $BASE/man/man1 $BASE/data $BASE/data/mysql $BASE/data/test
chmod o-rwx $BASE/data $BASE/data/* chmod o-rwx $BASE/data $BASE/data/*
fi
for i in ChangeLog COPYING COPYING.LIB README Docs/INSTALL-BINARY \ for i in ChangeLog COPYING COPYING.LIB README Docs/INSTALL-BINARY \
MySQLEULA.txt Docs/manual.html Docs/manual.txt Docs/manual_toc.html \ MySQLEULA.txt Docs/manual.html Docs/manual.txt Docs/manual_toc.html \
......
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