Server IP : 172.67.216.182 / Your IP : 162.158.170.55 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/BUILD/ |
Upload File : |
#!/bin/sh # Copyright (c) 2000, 2023, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, # as published by the Free Software Foundation. # # This program is also distributed with certain software (including # but not limited to OpenSSL) that is licensed under separate terms, # as designated in a particular file or component or in included license # documentation. The authors of MySQL hereby grant you an additional # permission to link the program and your derivative works with the # separately licensed software that they have included with MySQL. # # 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, version 2.0, for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA ######################################################################## get_key_value() { echo "$1" | sed 's/^--[a-zA-Z_-]*=//' } usage() { cat <<EOF Usage: $0 [-h|-n] [configure-options] -h, --help Show this help message. -n, --just-print Don't actually run any commands; just print them. -c, --just-configure Stop after running configure. --with-debug=full Build with full debug(no optimizations, keep call stack). --warning-mode=[old|pedantic|maintainer] Influences the debug flags. Old is default. --prefix=path Build with prefix 'path'. Note: this script is intended for internal use by MySQL developers. EOF } parse_options() { while test $# -gt 0 do case "$1" in --prefix=*) prefix=`get_key_value "$1"`;; --with-debug=full) full_debug="=full";; --warning-mode=*) warning_mode=`get_key_value "$1"`;; -c | --just-configure) just_configure=1;; -n | --just-print | --print) just_print=1;; -h | --help) usage exit 0;; *) echo "Unknown option '$1'" exit 1;; esac shift done } ######################################################################## if test ! -f sql/mysqld.cc then echo "You must run this script from the MySQL top-level directory" exit 1 fi prefix="/usr/local/mysql" just_print= just_configure= warning_mode= maintainer_mode= full_debug= parse_options "$@" if test -n "$MYSQL_BUILD_PREFIX" then prefix="$MYSQL_BUILD_PREFIX" fi set -e # # Check for the CPU and set up CPU specific flags. We may reset them # later. # path=`dirname $0` . "$path/check-cpu" export AM_MAKEFLAGS AM_MAKEFLAGS="-j 6" # SSL library to use. SSL_LIBRARY=--with-ssl=system if [ "x$warning_mode" = "xpedantic" ]; then warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE" c_warnings="$warnings" cxx_warnings="$warnings -std=c++98" # NOTE: warning mode should not influence optimize/debug mode. # Please feel free to add a separate option if you don't feel it's an overkill. debug_extra_cflags="-O0" # Reset CPU flags (-mtune), they don't work in -pedantic mode check_cpu_cflags="" elif [ "x$warning_mode" = "xmaintainer" ]; then c_warnings="-Wall -Wextra" cxx_warnings="$c_warnings -Wno-unused-parameter" maintainer_mode="--enable-mysql-maintainer-mode" debug_extra_cflags="-g3" else # Both C and C++ warnings warnings="-Wall -Wextra -Wunused -Wwrite-strings" # For more warnings, uncomment the following line # warnings="$warnings -Wshadow" # C warnings c_warnings="$warnings" # C++ warnings cxx_warnings="$warnings -Wno-unused-parameter" # cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo" cxx_warnings="$cxx_warnings -Wnon-virtual-dtor" debug_extra_cflags="-O0 -g3 -gdwarf-2" fi # Set flags for various build configurations. # Used in -valgrind builds valgrind_flags="-DMYSQL_SERVER_SUFFIX=-valgrind-max" valgrind_configs="--with-valgrind" # # Used in -debug builds debug_cflags="-DEXTRA_DEBUG " debug_cflags="$debug_cflags -DSAFE_MUTEX" error_inject="--with-error-inject " # # Base C++ flags for all builds base_cxxflags="-felide-constructors" # # Flags for optimizing builds. # Be as fast as we can be without losing our ability to backtrace. fast_cflags="-O3 -fno-omit-frame-pointer" debug_configs="--with-debug" if [ -z "$full_debug" ] then debug_cflags="$debug_cflags $debug_extra_cflags" fi # # Configuration options. # base_configs="--prefix=$prefix --enable-assembler " base_configs="$base_configs --with-extra-charsets=complex " base_configs="$base_configs --enable-thread-safe-client " base_configs="$base_configs --with-big-tables $maintainer_mode" if test -d "$path/../cmd-line-utils/libedit" then base_configs="$base_configs --with-libedit" fi static_link="--with-mysqld-ldflags=-all-static " static_link="$static_link --with-client-ldflags=-all-static" # we need local-infile in all binaries for rpl000001 # if you need to disable local-infile in the client, write a build script # and unset local_infile_configs local_infile_configs="--enable-local-infile" max_no_embedded_configs="$SSL_LIBRARY --with-plugins=max" max_no_ndb_configs="$SSL_LIBRARY --with-plugins=max-no-ndb --with-embedded-server" max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server" # # CPU and platform specific compilation flags. # alpha_cflags="$check_cpu_cflags -Wa,-m$cpu_flag" amd64_cflags="$check_cpu_cflags" amd64_cxxflags="" # If dropping '--with-big-tables', add here "-DBIG_TABLES" pentium_cflags="$check_cpu_cflags" pentium64_cflags="$check_cpu_cflags -m64" ppc_cflags="$check_cpu_cflags" sparc_cflags="" if gmake --version > /dev/null 2>&1 then make=gmake else make=make fi if test -z "$CC" ; then CC=gcc fi if test -z "$CXX" ; then CXX=g++ fi # If ccache (a compiler cache which reduces build time) # (http://samba.org/ccache) is installed, use it. # We use 'grep' and hope 'grep' will work as expected # (returns 0 if finds lines) if test "$USING_GCOV" != "1" then # Not using gcov; Safe to use ccache CCACHE_GCOV_VERSION_ENABLED=1 fi if ccache -V > /dev/null 2>&1 && test "$CCACHE_GCOV_VERSION_ENABLED" = "1" then echo "$CC" | grep "ccache" > /dev/null || CC="ccache $CC" echo "$CXX" | grep "ccache" > /dev/null || CXX="ccache $CXX" fi # gcov # The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the # code with profiling information used by gcov. # The -DHAVE_gcov enables code to write out coverage info even when crashing. gcov_compile_flags="-fprofile-arcs -ftest-coverage" gcov_compile_flags="$gcov_compile_flags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov" # GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well # as on the compiler command line), and this requires setting LDFLAGS for BDB. gcov_link_flags="-fprofile-arcs -ftest-coverage" gcov_configs="--with-gcov" # gprof gprof_compile_flags="-O2 -pg -g" gprof_link_flags="--disable-shared $static_link"