Commit 9ee0658a authored by unknown's avatar unknown

Fixed that RPM can be recompiled even if there is not another glibc in /usr/local/mysql-glibc


Build-tools/Do-compile:
  Fix to build mysqlcom
Build-tools/Do-rpm:
  Fixes for building with gcc 3.0.4
Docs/manual.texi:
  Small bug fix
configure.in:
  Cleanup
parent 9ed83bda
...@@ -92,7 +92,7 @@ if ($opt_stage == 0) ...@@ -92,7 +92,7 @@ if ($opt_stage == 0)
{ {
system("mkdir $host") if (! -d $host); system("mkdir $host") if (! -d $host);
system("touch $host/mysql-fix-for-glob"); system("touch $host/mysql-fix-for-glob");
rm_all(<$host/mysql-*>); rm_all(<$host/mysql*>);
system("mkdir $host/bin") if (! -d "$host/bin"); system("mkdir $host/bin") if (! -d "$host/bin");
} }
rm_all("$host/test"); rm_all("$host/test");
......
...@@ -152,7 +152,7 @@ cat > $logdir/$TMP_SCRIPT_MYSQL <<END ...@@ -152,7 +152,7 @@ cat > $logdir/$TMP_SCRIPT_MYSQL <<END
set -x set -x
# Check environment # Check environment
export MYSQL_BUILD_PATH="/usr/cygnus/redhat-980810/H-i386-pc-linux-gnu/bin/:/usr/bin:/bin" export MYSQL_BUILD_PATH="/usr/local/bin:/my/gnu/bin:/usr/bin:/bin"
export MYSQL_BUILD_CFLAGS="-O6 -fno-omit-frame-pointer -mpentium" export MYSQL_BUILD_CFLAGS="-O6 -fno-omit-frame-pointer -mpentium"
export MYSQL_BUILD_CXXFLAGS="-O6 -fno-omit-frame-pointer \ export MYSQL_BUILD_CXXFLAGS="-O6 -fno-omit-frame-pointer \
-felide-constructors -fno-exceptions -fno-rtti -mpentium" -felide-constructors -fno-exceptions -fno-rtti -mpentium"
......
...@@ -32044,7 +32044,7 @@ mysql> select INET_ATON("209.207.224.40"); ...@@ -32044,7 +32044,7 @@ mysql> select INET_ATON("209.207.224.40");
@end example @end example
The generated number is always in network byte order; For example the The generated number is always in network byte order; For example the
above number is calculated as @code{209*255^3 + 207*255^2 + 224*255 +40}. above number is calculated as @code{209*256^3 + 207*256^2 + 224*256 +40}.
@findex MASTER_POS_WAIT() @findex MASTER_POS_WAIT()
@item MASTER_POS_WAIT(log_name, log_pos) @item MASTER_POS_WAIT(log_name, log_pos)
...@@ -436,16 +436,17 @@ AC_ARG_WITH(other-libc, ...@@ -436,16 +436,17 @@ AC_ARG_WITH(other-libc,
enable_shared="no" enable_shared="no"
all_is_static="yes" all_is_static="yes"
CFLAGS="$CFLAGS -I$other_libc_include" 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" CXXFLAGS="$CXXFLAGS -fpermissive -I$other_libc_include"
#There seems to be a feature in gcc that treats system and libc headers
#leniently 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
static_nss= static_nss=
if test -f "$other_libc_lib/libnss_files.a" if test -f "$other_libc_lib/libnss_files.a"
then then
# libc has been compiled with --enable-static-nss # libc has been compiled with --enable-static-nss
# we need special flags, but we will have to add those later # we need special flags, but we will have to add those later
STATIC_NSS_FLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv \ STATIC_NSS_FLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv \
-Wl,--end-group" -Wl,--end-group"
static_nss=1 static_nss=1
...@@ -461,12 +462,12 @@ AC_ARG_WITH(other-libc, ...@@ -461,12 +462,12 @@ AC_ARG_WITH(other-libc,
LDFLAGS="$LDFLAGS -static -L$other_libc_lib " LDFLAGS="$LDFLAGS -static -L$other_libc_lib "
fi 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_mysqld_ldflags="-all-static"
with_client_ldflags="-all-static" with_client_ldflags="-all-static"
NOINST_LDFLAGS="-all-static" NOINST_LDFLAGS="-all-static"
#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
], ],
[ [
other_libc_include= other_libc_include=
...@@ -1512,9 +1513,9 @@ ac_save_CXXFLAGS="$CXXFLAGS" ...@@ -1512,9 +1513,9 @@ ac_save_CXXFLAGS="$CXXFLAGS"
AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style, AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style,
AC_LANG_SAVE AC_LANG_SAVE
AC_LANG_CPLUSPLUS AC_LANG_CPLUSPLUS
#do not treat warnings as errors if we are linking agaist other libc # Do not treat warnings as errors if we are linking agaist other libc
#this is to work around gcc not being permissive on non-system includes # this is to work around gcc not being permissive on non-system includes
#with respect to ANSI C++ # with respect to ANSI C++
if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no"
then then
CXXFLAGS="$CXXFLAGS -Werror" CXXFLAGS="$CXXFLAGS -Werror"
...@@ -2204,7 +2205,7 @@ then ...@@ -2204,7 +2205,7 @@ then
fi fi
fi fi
#IMPORTANT - do not modify LIBS past this line - this hack is the only way # IMPORTANT - do not modify LIBS past this line - this hack is the only way
# I know to add the static NSS magic if we have static NSS libraries with # I know to add the static NSS magic if we have static NSS libraries with
# glibc - Sasha # glibc - Sasha
......
...@@ -188,9 +188,17 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \ ...@@ -188,9 +188,17 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \
make benchdir_root=$RPM_BUILD_ROOT/usr/share/ make benchdir_root=$RPM_BUILD_ROOT/usr/share/
} }
# Use the build root for temporary storage of the shared libraries. # Use our own copy of glibc
OTHER_LIBC_DIR=/usr/local/mysql-glibc OTHER_LIBC_DIR=/usr/local/mysql-glibc
USE_OTHER_LIBC_DIR=""
if test -d "OTHER_LIBC_DIR"
then
USE_OTHER_LIBC_DIR="--with-other-libc=$OTHER_LIBC_DIR"
fi
# Use the build root for temporary storage of the shared libraries.
RBR=$RPM_BUILD_ROOT RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version} MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
if test -z "$RBR" -o "$RBR" = "/" if test -z "$RBR" -o "$RBR" = "/"
...@@ -204,7 +212,7 @@ mkdir -p $RBR ...@@ -204,7 +212,7 @@ mkdir -p $RBR
# We need to build shared libraries separate from mysqld-max because we # We need to build shared libraries separate from mysqld-max because we
# are using --with-other-libc # are using --with-other-libc
BuildMySQL "--disable-shared --with-other-libc=$OTHER_LIBC_DIR --with-berkeley-db --with-innodb --with-mysqld-ldflags='-all-static' --with-server-suffix='-Max'" BuildMySQL "--disable-shared $USE_OTHER_LIBC_DIR --with-berkeley-db --with-innodb --with-mysqld-ldflags='-all-static' --with-server-suffix='-Max'"
# Save everything for debug # Save everything for debug
# tar cf $RBR/all.tar . # tar cf $RBR/all.tar .
...@@ -234,7 +242,7 @@ automake ...@@ -234,7 +242,7 @@ automake
BuildMySQL "--disable-shared" \ BuildMySQL "--disable-shared" \
"--with-mysqld-ldflags='-all-static'" \ "--with-mysqld-ldflags='-all-static'" \
"--with-client-ldflags='-all-static'" \ "--with-client-ldflags='-all-static'" \
"--with-other-libc=$OTHER_LIBC_DIR" \ "$USE_OTHER_LIBC_DIR" \
"--without-berkeley-db --without-innodb" "--without-berkeley-db --without-innodb"
nm --numeric-sort sql/mysqld > sql/mysqld.sym nm --numeric-sort sql/mysqld > sql/mysqld.sym
......
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