Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Unified Diff: third_party/sqlite/amalgamation/config.h

Issue 1437823005: [sql] uClibc doesn't provide malloc_usable_size(). (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment features.h Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/BUILD.gn ('k') | third_party/sqlite/sqlite.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/amalgamation/config.h
diff --git a/third_party/sqlite/amalgamation/config.h b/third_party/sqlite/amalgamation/config.h
new file mode 100644
index 0000000000000000000000000000000000000000..58941b4597821d1e3a1b59a6301862304fb447b4
--- /dev/null
+++ b/third_party/sqlite/amalgamation/config.h
@@ -0,0 +1,32 @@
+/* On Windows and OSX, SQLite uses preprocessor macros to configure itself. On
+ * Linux, it expects config.h from autoconf. autoconf generates config.h by
+ * compiling a series of probe programs, and Chromium's build system has no
+ * "configure" phase to put such generation in. This file is a workaround for
+ * this issue.
+ */
+/* TODO(shess): Expand this to OSX and Windows? */
+/* TODO(shess): Consider config_linux.h, config_mac.h, config_win.h? */
+
+/* NOTE(shess): This file is included by sqlite3.c, be very careful about adding
+ * #include lines.
+ */
+/* TODO(shess): Consider using build/build_config.h for OS_ macros. */
+/* TODO(shess): build_config.h uses unistd.h, perhaps for portability reasons,
+ * but AFAICT there are no current portability concerns here. limits.h is
+ * another alternative.
+ */
+#include <features.h>
+
+/* SQLite wants to track malloc sizes. On OSX it uses malloc_size(), on
+ * Windows _msize(), elsewhere it handles it manually by enlarging the malloc
+ * and injecting a field. Enable malloc_usable_size() for Linux.
+ *
+ * malloc_usable_size() is not exported by the Android NDK. It is not
+ * implemented by uclibc.
+ */
+#if defined(__linux__) && !defined(__UCLIBC__)
+#define HAVE_MALLOC_H 1
+#define HAVE_MALLOC_USABLE_SIZE 1
+#endif
+
+/* TODO(shess): Eat other config options from gn and gyp? */
« no previous file with comments | « third_party/sqlite/BUILD.gn ('k') | third_party/sqlite/sqlite.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698