mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
f02525be83
to string conversions and vice versa" Initial import of the dtoa.c code and custom wrappers around it to allow its usage from the server code. Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings and vice versa has been significantly reworked. As the new algoritms are more precise than the older ones, results of such conversions may not always match those obtained from older server versions. This in turn may break compatibility for some applications. This patch also fixes the following bugs: - bug #12860 "Difference in zero padding of exponent between Unix and Windows" - bug #21497 "DOUBLE truncated to unusable value" - bug #26788 "mysqld (debug) aborts when inserting specific numbers into char fields" - bug #24541 "Data truncated..." on decimal type columns without any good reason"
94 lines
5.1 KiB
Makefile
94 lines
5.1 KiB
Makefile
# Copyright (C) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
# 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 for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
# This file is public domain and comes with NO WARRANTY of any kind
|
|
|
|
#
|
|
# Note that the string library is built with #define THREAD,
|
|
# which by default cause all the thread related code (my_pthread.h)
|
|
# and therefore the associated instrumentation (mysql/psi/mysql_thread.h)
|
|
# to be used.
|
|
# Since the string code itself is not instrumented, we use
|
|
# #define DISABLE_MYSQL_THREAD_H here to avoid unneeded dependencies.
|
|
#
|
|
|
|
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -DDISABLE_MYSQL_THREAD_H
|
|
pkglib_LIBRARIES = libmystrings.a
|
|
|
|
# Exact one of ASSEMBLER_X
|
|
if ASSEMBLER_x86
|
|
ASRCS = strings-x86.s longlong2str-x86.s my_strtoll10-x86.s
|
|
CSRCS = bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c str_alloc.c longlong2str_asm.c my_strchr.c dtoa.c
|
|
else
|
|
if ASSEMBLER_sparc32
|
|
# These file MUST all be on the same line!! Otherwise automake
|
|
# generats a very broken makefile
|
|
ASRCS = bmove_upp-sparc.s strappend-sparc.s strend-sparc.s strinstr-sparc.s strmake-sparc.s strmov-sparc.s strnmov-sparc.s strstr-sparc.s
|
|
CSRCS = strcont.c strfill.c strcend.c is_prefix.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c strxmov.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c str_alloc.c my_strchr.c dtoa.c
|
|
else
|
|
#no assembler
|
|
ASRCS =
|
|
# These file MUST all be on the same line!! Otherwise automake
|
|
# generats a very broken makefile
|
|
CSRCS = strxmov.c bmove_upp.c strappend.c strcont.c strend.c strfill.c strcend.c is_prefix.c strstr.c strinstr.c strmake.c strnmov.c strmov.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c str_alloc.c my_strchr.c dtoa.c
|
|
endif
|
|
endif
|
|
|
|
libmystrings_a_SOURCES = $(ASRCS) $(CSRCS)
|
|
noinst_PROGRAMS = conf_to_src
|
|
CLEANFILES = str_test uctypedump test_decimal
|
|
# Default charset definitions
|
|
EXTRA_DIST = ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-win1250ch.c \
|
|
ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-utf8.c \
|
|
ctype-ucs2.c ctype-uca.c ctype-tis620.c ctype-ujis.c \
|
|
xml.c decimal.c strto.c strings-x86.s \
|
|
longlong2str.c longlong2str-x86.s longlong2str_asm.c \
|
|
my_strtoll10.c my_strtoll10-x86.s \
|
|
strxmov.c bmove_upp.c strappend.c strcont.c strend.c \
|
|
strfill.c strcend.c is_prefix.c strstr.c strinstr.c \
|
|
strmake.c strnmov.c strmov.c strnlen.c \
|
|
bmove_upp-sparc.s strappend-sparc.s strend-sparc.s \
|
|
strinstr-sparc.s strmake-sparc.s strmov-sparc.s \
|
|
strnmov-sparc.s strstr-sparc.s strxmov-sparc.s \
|
|
t_ctype.h my_strchr.c CMakeLists.txt \
|
|
CHARSET_INFO.txt
|
|
|
|
libmystrings_a_LIBADD=
|
|
conf_to_src_SOURCES = conf_to_src.c xml.c ctype.c bcmp.c
|
|
conf_to_src_LDADD=
|
|
#force static linking of conf_to_src - essential when linking against
|
|
#custom installation of libc
|
|
conf_to_src_LDFLAGS= @NOINST_LDFLAGS@
|
|
|
|
# This is because the dependency tracking misses @FOO@ vars in sources.
|
|
#strtoull.o: @CHARSET_OBJS@
|
|
|
|
|
|
FLAGS=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) @NOINST_LDFLAGS@
|
|
|
|
str_test: str_test.c $(pkglib_LIBRARIES)
|
|
$(LINK) $(FLAGS) -DMAIN $(INCLUDES) $(srcdir)/str_test.c $(LDADD) $(pkglib_LIBRARIES)
|
|
|
|
uctypedump: uctypedump.c
|
|
$(LINK) $(INCLUDES) $(srcdir)/uctypedump.c
|
|
|
|
test_decimal$(EXEEXT): decimal.c $(pkglib_LIBRARIES)
|
|
$(CP) $(srcdir)/decimal.c ./test_decimal.c
|
|
$(LINK) $(FLAGS) -DMAIN ./test_decimal.c $(LDADD) $(pkglib_LIBRARIES)
|
|
$(RM) -f ./test_decimal.c
|
|
|
|
# Don't update the files from bitkeeper
|
|
%::SCCS/s.%
|
|
|