mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Fixed that RPM can be recompiled even if there is not another glibc in /usr/local/mysql-glibc
This commit is contained in:
parent
6c2e453efa
commit
ca55d0c2b0
5 changed files with 28 additions and 19 deletions
|
@ -92,7 +92,7 @@ if ($opt_stage == 0)
|
|||
{
|
||||
system("mkdir $host") if (! -d $host);
|
||||
system("touch $host/mysql-fix-for-glob");
|
||||
rm_all(<$host/mysql-*>);
|
||||
rm_all(<$host/mysql*>);
|
||||
system("mkdir $host/bin") if (! -d "$host/bin");
|
||||
}
|
||||
rm_all("$host/test");
|
||||
|
|
|
@ -152,7 +152,7 @@ cat > $logdir/$TMP_SCRIPT_MYSQL <<END
|
|||
set -x
|
||||
|
||||
# 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_CXXFLAGS="-O6 -fno-omit-frame-pointer \
|
||||
-felide-constructors -fno-exceptions -fno-rtti -mpentium"
|
||||
|
|
|
@ -32044,7 +32044,7 @@ mysql> select INET_ATON("209.207.224.40");
|
|||
@end example
|
||||
|
||||
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()
|
||||
@item MASTER_POS_WAIT(log_name, log_pos)
|
||||
|
|
27
configure.in
27
configure.in
|
@ -436,16 +436,17 @@ AC_ARG_WITH(other-libc,
|
|||
enable_shared="no"
|
||||
all_is_static="yes"
|
||||
CFLAGS="$CFLAGS -I$other_libc_include"
|
||||
# There seems to be a feature in gcc that treats system and libc headers
|
||||
# silently when they violatate ANSI C++ standard, but it is strict otherwise
|
||||
# since gcc cannot now recognize that our headers are libc, we work around
|
||||
# by telling it to be permissive. Note that this option only works with
|
||||
# new versions of gcc (2.95.x and above)
|
||||
CXXFLAGS="$CXXFLAGS -fpermissive -I$other_libc_include"
|
||||
#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=
|
||||
if test -f "$other_libc_lib/libnss_files.a"
|
||||
then
|
||||
# libc has been compiled with --enable-static-nss
|
||||
# we need special flags, but we will have to add those later
|
||||
# libc has been compiled with --enable-static-nss
|
||||
# we need special flags, but we will have to add those later
|
||||
STATIC_NSS_FLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv \
|
||||
-Wl,--end-group"
|
||||
static_nss=1
|
||||
|
@ -461,12 +462,12 @@ AC_ARG_WITH(other-libc,
|
|||
LDFLAGS="$LDFLAGS -static -L$other_libc_lib "
|
||||
fi
|
||||
|
||||
# When linking against custom libc installed separately, we want to force
|
||||
# all binary builds to be static, including the build done by configure
|
||||
# itself to test for system features.
|
||||
with_mysqld_ldflags="-all-static"
|
||||
with_client_ldflags="-all-static"
|
||||
NOINST_LDFLAGS="-all-static"
|
||||
#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=
|
||||
|
@ -1512,9 +1513,9 @@ ac_save_CXXFLAGS="$CXXFLAGS"
|
|||
AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style,
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
#do not treat warnings as errors if we are linking agaist other libc
|
||||
#this is to work around gcc not being permissive on non-system includes
|
||||
#with respect to ANSI C++
|
||||
# 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
|
||||
# with respect to ANSI C++
|
||||
if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no"
|
||||
then
|
||||
CXXFLAGS="$CXXFLAGS -Werror"
|
||||
|
@ -2204,7 +2205,7 @@ then
|
|||
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
|
||||
# glibc - Sasha
|
||||
|
||||
|
|
|
@ -188,9 +188,17 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \
|
|||
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
|
||||
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
|
||||
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
|
||||
if test -z "$RBR" -o "$RBR" = "/"
|
||||
|
@ -204,7 +212,7 @@ mkdir -p $RBR
|
|||
# We need to build shared libraries separate from mysqld-max because we
|
||||
# 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
|
||||
# tar cf $RBR/all.tar .
|
||||
|
@ -234,7 +242,7 @@ automake
|
|||
BuildMySQL "--disable-shared" \
|
||||
"--with-mysqld-ldflags='-all-static'" \
|
||||
"--with-client-ldflags='-all-static'" \
|
||||
"--with-other-libc=$OTHER_LIBC_DIR" \
|
||||
"$USE_OTHER_LIBC_DIR" \
|
||||
"--without-berkeley-db --without-innodb"
|
||||
nm --numeric-sort sql/mysqld > sql/mysqld.sym
|
||||
|
||||
|
|
Loading…
Reference in a new issue