diff options
author | unknown <greg@mysql.com> | 2004-02-19 19:04:47 -0100 |
---|---|---|
committer | unknown <greg@mysql.com> | 2004-02-19 19:04:47 -0100 |
commit | ea9aa4d352b435c7d96c2ad7b61fc8e7ad83105c (patch) | |
tree | 65592227dddccd6ef76970ff6c262886c812b0b3 /scripts | |
parent | 9bc5cdba41a0d2bc3c391469b14168f82e636a6b (diff) | |
download | mariadb-git-ea9aa4d352b435c7d96c2ad7b61fc8e7ad83105c.tar.gz |
Major work on Windows build automation-- add binary packaging, suffixes
Build-tools/Do-win-build:
Add suffix option, classic build, binary packaging
VC++Files/comp_err/comp_err.dsp:
Update project file -- binary goes to ../client_release now
VC++Files/my_print_defaults/my_print_defaults.dsp:
Update project file -- binary goes to ../client_release now
VC++Files/myisam_ftdump/myisam_ftdump.dsp:
Update project file -- binary goes to ../client_release now
VC++Files/myisampack/myisampack.dsp:
Update project file -- binary goes to ../client_release now
scripts/Makefile.am:
Add make_win_binary_distribution to Makefile (for @VERSION@)
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 4 | ||||
-rw-r--r-- | scripts/make_win_binary_distribution.sh | 178 |
2 files changed, 181 insertions, 1 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index d14d7f38deb..c464c271a55 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -33,11 +33,13 @@ bin_SCRIPTS = @server_scripts@ \ mysql_explain_log \ mysql_tableinfo \ mysqld_multi \ - make_win_src_distribution + make_win_src_distribution \ + make_win_binary_distribution EXTRA_SCRIPTS = make_binary_distribution.sh \ make_sharedlib_distribution.sh \ make_win_src_distribution.sh \ + make_win_binary_distribution.sh \ msql2mysql.sh \ mysql_config.sh \ mysql_fix_privilege_tables.sh \ diff --git a/scripts/make_win_binary_distribution.sh b/scripts/make_win_binary_distribution.sh new file mode 100644 index 00000000000..e5893c1eb1e --- /dev/null +++ b/scripts/make_win_binary_distribution.sh @@ -0,0 +1,178 @@ +#!/bin/sh + +# +# Script to create a Windows binary package +# +# This is intended to be used under Cygwin, and will generate +# an archive named in the form mysql<suffix>-<version>-noinstall.zip + +version=@VERSION@ + +DEBUG=0 +SUFFIX="" +DIRNAME="" +EXTRA="" + +# +# This script must run from MySQL top directory +# + +if [ ! -f scripts/make_win_binary_distribution ]; then + echo "ERROR : You must run this script from the MySQL top-level directory" + exit 1 +fi + +# +# Debug print of the status +# + +print_debug() +{ + for statement + do + if [ "$DEBUG" = "1" ] ; then + echo $statement + fi + done +} + +# +# Usage of the script +# + +show_usage() +{ + echo "MySQL utility script to create a Windows binary package" + echo "" + echo "This is intended to be used under Cygwin, and will generate" + echo "an archive named in the form mysql<suffix>-<version>-noinstall.zip" + echo "Takes the following arguments:" + echo "" + echo " --dirname Directory to use for copying files" + echo " --extra Directory to get extra files from" + echo " --suffix Name to append to 'mysql' for this binary" + echo " --help Show this help message" + exit 0 +} + +# +# Parse the input arguments +# + +parse_arguments() { + for arg do + case "$arg" in + --debug) DEBUG=1;; + --extra=*) EXTRA=`echo "$arg" | sed -e "s;--extra=;;"` ;; + --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;; + --dirname=*) DIRNAME=`echo "$arg" | sed -e "s;--dirname=;;"` ;; + --help) show_usage ;; + *) + echo "Unknown argument '$arg'" + exit 1 + ;; + esac + done +} + +parse_arguments "$@" + +if [ -z "$DIRNAME" ]; then + $DIRNAME="dist" +fi + +print_debug "Making directories" +mkdir $DIRNAME +$DIRNAME="$DIRNAME/mysql-$version" +mkdir $DIRNAME + +for dir in bin lib lib/opt lib/debug Embedded Embedded/DLL Embedded/DLL/debug Embedded/DLL/release Embedded/static Embedded/static/release examples examples/libmysqltest +do + mkdir $DIRNAME/$dir +done + +if [ $EXTRA ]; then + print_debug "Copying extra files" + cp -fr $EXTRA/* $DIRNAME +fi + +# Dirs to be copied as-is +for dir in data Docs include scripts share +do + print_debug "Copying $dir to $DIRNAME/" + cp -fr $dir $DIRNAME +done + +print_debug "Copying tests to $DIRNAME/examples/" +cp -fr tests $DIRNAME/examples + +print_debug "Copying sql-bench to $DIRNAME/bench" +mkdir $DIRNAME/bench +cp -fr sql-bench/* $DIRNAME/bench + +# Files for bin +for i in client_release/* client_debug/mysqld.exe lib_release/libmySQL.dll +do + print_debug "Copying $i to $DIRNAME/bin" + cp $i $DIRNAME/bin +done + +# Files for include +for i in libmysql/libmysql.def libmysqld/libmysqld.def +do + print_debug "Copying $i to $DIRNAME/include" + cp $i $DIRNAME/include +done + +# Windows users are used to having dbug.h +cp include/my_dbug.h $DIRNAME/include/dbug.h + +# Libraries found in lib_release and lib_debug +for i in libmySQL.dll libmysql.lib zlib.lib mysqlclient.lib mysys.lib regex.lib strings.lib +do + print_debug "Copying lib_release/$i to $DIRNAME/lib/opt" + cp lib_release/$i $DIRNAME/lib/opt + print_debug "Copying lib_debug/$i to $DIRNAME/lib/debug" + cp lib_debug/$i $DIRNAME/lib/debug +done + +print_debug "Copying lib_release/mysys-max.lib to $DIRNAME/lib/opt" +cp lib_release/mysys-max.lib $DIRNAME/lib/opt + +# Embedded server +for i in libmysqld.dll libmysqld.lib libmysqld.exp +do + print_debug "Copying lib_release/$i to $DIRNAME/Embedded/DLL/release" + cp lib_release/$i $DIRNAME/Embedded/DLL/release + print_debug "Copying lib_debug/$i to $DIRNAME/Embedded/DLL/debug" + cp lib_debug/$i $DIRNAME/Embedded/DLL/debug +done + +# Static embedded +print_debug "Copying lib_release/mysqlserver.lib to $DIRNAME/Embedded/static/release" +cp lib_release/mysqlserver.lib $DIRNAME/Embedded/static/release + +# libmysqltest +for i in mytest.c mytest.dsp mytest.dsw mytest.exe +do + print_debug "Copying libmysqltest/release/$i to $DIRNAME/examples/libmysqltest" + cp libmysqltest/release/$i $DIRNAME/examples/libmysqltest +done + +print_debug "Copying README.txt" +cp README.txt $DIRNAME + +if [ -f MySQLEULA.txt ]; then + print_debug "Commercial version: copying MySQLEULA.txt" + cp MySQLEULA.txt $DIRNAME + rm $DIRNAME/Docs/COPYING +else + print_debug "GPL version: copying COPYING" + cp Docs/COPYING $DIRNAME +fi + +print_debug "Invoking zip to package the binary" +zip -r mysql$SUFFIX-$version-win-noinstall.zip $DIRNAME + +print_debug "Deleting intermediate directory" +rm -rf $DIRNAME |