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

Side by Side Diff: third_party/tcmalloc/vendor/configure.ac

Issue 7430002: Update the tcmalloc vendor branch to r111 (perftools version 1.8) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 5 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/tcmalloc/vendor/configure ('k') | third_party/tcmalloc/vendor/doc/heapprofile.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ## Process this file with autoconf to produce configure. 1 ## Process this file with autoconf to produce configure.
2 ## In general, the safest way to proceed is to run ./autogen.sh 2 ## In general, the safest way to proceed is to run ./autogen.sh
3 3
4 # make sure we're interpreted by some minimal autoconf 4 # make sure we're interpreted by some minimal autoconf
5 AC_PREREQ(2.57) 5 AC_PREREQ(2.57)
6 6
7 AC_INIT(google-perftools, 1.7, opensource@google.com) 7 AC_INIT(google-perftools, 1.8, opensource@google.com)
8 # Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B) 8 # Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
9 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.htm l 9 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.htm l
10 TCMALLOC_SO_VERSION=1:0:1 10 TCMALLOC_SO_VERSION=2:0:2
11 PROFILER_SO_VERSION=1:0:1 11 PROFILER_SO_VERSION=1:1:1
12 12
13 AC_SUBST(TCMALLOC_SO_VERSION) 13 AC_SUBST(TCMALLOC_SO_VERSION)
14 AC_SUBST(PROFILER_SO_VERSION) 14 AC_SUBST(PROFILER_SO_VERSION)
15 15
16 # The argument here is just something that should be in the current directory 16 # The argument here is just something that should be in the current directory
17 # (for sanity checking) 17 # (for sanity checking)
18 AC_CONFIG_SRCDIR(README) 18 AC_CONFIG_SRCDIR(README)
19 AC_CONFIG_MACRO_DIR([m4]) 19 AC_CONFIG_MACRO_DIR([m4])
20 AC_CANONICAL_HOST 20 AC_CANONICAL_HOST
21 AM_INIT_AUTOMAKE([dist-zip]) 21 AM_INIT_AUTOMAKE([dist-zip])
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 CFLAGS="$CFLAGS -S -O2 -o fp.s" 231 CFLAGS="$CFLAGS -S -O2 -o fp.s"
232 # This test will always fail because we don't name our output file properly. 232 # This test will always fail because we don't name our output file properly.
233 # We do our own determination of success/failure in the grep, below. 233 # We do our own determination of success/failure in the grep, below.
234 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f(int x) {return x;}], [return f(0);])], 234 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f(int x) {return x;}], [return f(0);])],
235 [:], [:]) 235 [:], [:])
236 AM_CONDITIONAL(X86_64_AND_NO_FP_BY_DEFAULT, 236 AM_CONDITIONAL(X86_64_AND_NO_FP_BY_DEFAULT,
237 test "$is_x86_64" = yes && ! grep 'mov.*rsp.*rbp' fp.s >/dev/null 2>&1) 237 test "$is_x86_64" = yes && ! grep 'mov.*rsp.*rbp' fp.s >/dev/null 2>&1)
238 rm fp.s 238 rm fp.s
239 CFLAGS="$OLD_CFLAGS" 239 CFLAGS="$OLD_CFLAGS"
240 240
241 # See if the compiler supports -Wno-unused-result.
242 # Newer ubuntu's turn on -D_FORTIFY_SOURCE=2, enabling
243 # __attribute__((warn_unused_result)) for things like write(),
244 # which we don't care about.
245 AC_CACHE_CHECK([if the compiler supports -Wno-unused-result],
246 perftools_cv_w_no_unused_result,
247 [OLD_CFLAGS="$CFLAGS"
248 CFLAGS="$CFLAGS -Wno-error -Wno-unused-result"
249 # gcc doesn't warn about unknown flags unless it's
250 # also warning for some other purpose, hence the
251 # divide-by-0. (We use -Wno-error to make sure the
252 # divide-by-0 doesn't cause this test to fail!)
253 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, return 1/0)],
254 perftools_cv_w_no_unused_result=yes,
255 perftools_cv_w_no_unused_result=no)
256 CFLAGS="$OLD_CFLAGS"])
257 AM_CONDITIONAL(HAVE_W_NO_UNUSED_RESULT,
258 test "$perftools_cv_w_no_unused_result" = yes)
241 259
242 # Defines PRIuS 260 # Defines PRIuS
243 AC_COMPILER_CHARACTERISTICS 261 AC_COMPILER_CHARACTERISTICS
244 262
245 # Also make sure we get standard PRI... definitions, even with glibc. 263 # Also make sure we get standard PRI... definitions, even with glibc.
246 # We have to use AH_VERBATIM because we need the #ifdef guard (gcc buglet) 264 # We have to use AH_VERBATIM because we need the #ifdef guard (gcc buglet)
247 AH_VERBATIM([__STDC_FORMAT_MACROS], 265 AH_VERBATIM([__STDC_FORMAT_MACROS],
248 [/* C99 says: define this to get the PRI... macros from stdint.h */ 266 [/* C99 says: define this to get the PRI... macros from stdint.h */
249 #ifndef __STDC_FORMAT_MACROS 267 #ifndef __STDC_FORMAT_MACROS
250 # define __STDC_FORMAT_MACROS 1 268 # define __STDC_FORMAT_MACROS 1
(...skipping 18 matching lines...) Expand all
269 287
270 # If we support __thread, that can speed up tcmalloc a bit. 288 # If we support __thread, that can speed up tcmalloc a bit.
271 # Note, however, that our code tickles a bug in gcc < 4.1.2 289 # Note, however, that our code tickles a bug in gcc < 4.1.2
272 # involving TLS and -fPIC (which our libraries will use) on x86: 290 # involving TLS and -fPIC (which our libraries will use) on x86:
273 # http://gcc.gnu.org/ml/gcc-bugs/2006-09/msg02275.html 291 # http://gcc.gnu.org/ml/gcc-bugs/2006-09/msg02275.html
274 AC_MSG_CHECKING([for __thread]) 292 AC_MSG_CHECKING([for __thread])
275 AC_LINK_IFELSE([AC_LANG_PROGRAM([#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (__GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ < 2)) 293 AC_LINK_IFELSE([AC_LANG_PROGRAM([#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (__GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ < 2))
276 #error gcc has this bug: http://gcc.gnu.org/ml/gcc-bugs/2006-09/msg02275.html 294 #error gcc has this bug: http://gcc.gnu.org/ml/gcc-bugs/2006-09/msg02275.html
277 #endif], [static __thread int p = 0])], 295 #endif], [static __thread int p = 0])],
278 [AC_DEFINE(HAVE_TLS, 1, 296 [AC_DEFINE(HAVE_TLS, 1,
279 Define to 1 if compiler supports __thread) 297 Define to 1 if compiler supports __thread)
280 AC_MSG_RESULT([yes])], 298 AC_MSG_RESULT([yes])],
281 [AC_MSG_RESULT([no])]) 299 [AC_MSG_RESULT([no])])
282 300
301 # glibc's __malloc_hook/etc were declared volatile starting in glibc 2.14
302 AC_MSG_CHECKING([if __malloc_hook is declared volatile])
303 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <malloc.h>
304 void* (* volatile __malloc_hook)(size_t, const void*) = 0;],)],
305 [AC_DEFINE(MALLOC_HOOK_MAYBE_VOLATILE, volatile,
306 Define to 'volatile' if __malloc_hook is declared v olatile)
307 AC_MSG_RESULT([yes])],
308 [AC_DEFINE(MALLOC_HOOK_MAYBE_VOLATILE, ),
309 AC_MSG_RESULT([no])])
310
283 # Nanosleep requires extra libraries on some architectures (solaris). 311 # Nanosleep requires extra libraries on some architectures (solaris).
284 # This sets NANOSLEEP_LIBS. nanosleep doesn't exist on mingw, which 312 # This sets NANOSLEEP_LIBS. nanosleep doesn't exist on mingw, which
285 # is fine for us because we don't compile libspinlock, which uses it. 313 # is fine for us because we don't compile libspinlock, which uses it.
286 if test "$need_nanosleep" = yes; then 314 if test "$need_nanosleep" = yes; then
287 ACX_NANOSLEEP 315 ACX_NANOSLEEP
288 AC_SUBST(NANOSLEEP_LIBS) 316 AC_SUBST(NANOSLEEP_LIBS)
289 fi 317 fi
290 318
291 # Solaris 10 6/06 has a bug where /usr/sfw/lib/libstdc++.la is empty. 319 # Solaris 10 6/06 has a bug where /usr/sfw/lib/libstdc++.la is empty.
292 # If so, we replace it with our own version. 320 # If so, we replace it with our own version.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 # and it #includes other .h files. These all have header guards, so 355 # and it #includes other .h files. These all have header guards, so
328 # the end result is if config.h is #included twice, its #undefs get 356 # the end result is if config.h is #included twice, its #undefs get
329 # evaluated twice, but all the ones in mingw.h/etc only get evaluated 357 # evaluated twice, but all the ones in mingw.h/etc only get evaluated
330 # once, potentially causing trouble. c.f. 358 # once, potentially causing trouble. c.f.
331 # http://code.google.com/p/google-perftools/issues/detail?id=246 359 # http://code.google.com/p/google-perftools/issues/detail?id=246
332 AH_TOP([ 360 AH_TOP([
333 #ifndef GOOGLE_PERFTOOLS_CONFIG_H_ 361 #ifndef GOOGLE_PERFTOOLS_CONFIG_H_
334 #define GOOGLE_PERFTOOLS_CONFIG_H_ 362 #define GOOGLE_PERFTOOLS_CONFIG_H_
335 ]) 363 ])
336 364
365 AH_VERBATIM([PTHREADS_CRASHES_IF_RUN_TOO_EARLY],
366 [/* Mark the systems where we know it's bad if pthreads runs too
367 early before main (before threads are initialized, presumably). */
368 #ifdef __FreeBSD__
369 #define PTHREADS_CRASHES_IF_RUN_TOO_EARLY 1
370 #endif])
371
337 # MinGW uses autoconf, but also needs the windows shim routines 372 # MinGW uses autoconf, but also needs the windows shim routines
338 # (since it doesn't have its own support for, say, pthreads). 373 # (since it doesn't have its own support for, say, pthreads).
339 # This requires us to #include a special header file, and also to 374 # This requires us to #include a special header file, and also to
340 # link in some windows versions of .o's instead of the unix versions. 375 # link in some windows versions of .o's instead of the unix versions.
376 #
377 # Also, manually mark systems where we have to be careful how early
378 # we run pthreads. TODO(csilvers): turn this into an autoconf check.
341 AH_BOTTOM([ 379 AH_BOTTOM([
342 #ifdef __MINGW32__ 380 #ifdef __MINGW32__
343 #include "windows/mingw.h" 381 #include "windows/mingw.h"
344 #endif 382 #endif
345 383
346 #endif /* #ifndef GOOGLE_PERFTOOLS_CONFIG_H_ */ 384 #endif /* #ifndef GOOGLE_PERFTOOLS_CONFIG_H_ */
347 ]) 385 ])
348 AM_CONDITIONAL(MINGW, expr $host : '.*-mingw' >/dev/null 2>&1) 386 AM_CONDITIONAL(MINGW, expr $host : '.*-mingw' >/dev/null 2>&1)
387 AM_CONDITIONAL(OSX, expr $host : '.*-apple-darwin.*' >/dev/null 2>&1)
349 388
350 # Redhat 7 (and below?) has sys/ucontext.h, but if you try to #include 389 # Redhat 7 (and below?) has sys/ucontext.h, but if you try to #include
351 # it directly, the compiler gets upset. So we pretend we don't have 390 # it directly, the compiler gets upset. So we pretend we don't have
352 # it. 391 # it.
353 if cat /etc/redhat-release 2>/dev/null | grep "Red Hat Linux release 7" >/dev/nu ll 2>&1; then 392 if cat /etc/redhat-release 2>/dev/null | grep "Red Hat Linux release 7" >/dev/nu ll 2>&1; then
354 AC_DEFINE(HAVE_SYS_UCONTEXT_H, 0, [<sys/ucontext.h> is broken on redhat 7]) 393 AC_DEFINE(HAVE_SYS_UCONTEXT_H, 0, [<sys/ucontext.h> is broken on redhat 7])
355 fi 394 fi
356 395
357 # Export the --enable flags we set above. We do this at the end so 396 # Export the --enable flags we set above. We do this at the end so
358 # other configure rules can enable or disable targets based on what 397 # other configure rules can enable or disable targets based on what
359 # they find. 398 # they find.
360 AM_CONDITIONAL(WITH_CPU_PROFILER, test "$enable_cpu_profiler" = yes) 399 AM_CONDITIONAL(WITH_CPU_PROFILER, test "$enable_cpu_profiler" = yes)
361 AM_CONDITIONAL(WITH_HEAP_PROFILER, test "$enable_heap_profiler" = yes) 400 AM_CONDITIONAL(WITH_HEAP_PROFILER, test "$enable_heap_profiler" = yes)
362 AM_CONDITIONAL(WITH_HEAP_CHECKER, test "$enable_heap_checker" = yes) 401 AM_CONDITIONAL(WITH_HEAP_CHECKER, test "$enable_heap_checker" = yes)
363 AM_CONDITIONAL(WITH_DEBUGALLOC, test "$enable_debugalloc" = yes) 402 AM_CONDITIONAL(WITH_DEBUGALLOC, test "$enable_debugalloc" = yes)
364 # We make tcmalloc.so if either heap-profiler or heap-checker is asked for. 403 # We make tcmalloc.so if either heap-profiler or heap-checker is asked for.
365 AM_CONDITIONAL(WITH_HEAP_PROFILER_OR_CHECKER, 404 AM_CONDITIONAL(WITH_HEAP_PROFILER_OR_CHECKER,
366 test "$enable_heap_profiler" = yes -o \ 405 test "$enable_heap_profiler" = yes -o \
367 "$enable_heap_checker" = yes) 406 "$enable_heap_checker" = yes)
368 # If we don't use any profilers, we don't need stack traces (or pprof) 407 # If we don't use any profilers, we don't need stack traces (or pprof)
369 AM_CONDITIONAL(WITH_STACK_TRACE, test "$enable_cpu_profiler" = yes -o \ 408 AM_CONDITIONAL(WITH_STACK_TRACE, test "$enable_cpu_profiler" = yes -o \
370 "$enable_heap_profiler" = yes -o \ 409 "$enable_heap_profiler" = yes -o \
371 "$enable_heap_checker" = yes) 410 "$enable_heap_checker" = yes)
372 411
373 # Write generated configuration file 412 # Write generated configuration file
374 AC_CONFIG_FILES([Makefile src/google/tcmalloc.h src/windows/google/tcmalloc.h]) 413 AC_CONFIG_FILES([Makefile src/google/tcmalloc.h src/windows/google/tcmalloc.h])
375 AC_OUTPUT 414 AC_OUTPUT
OLDNEW
« no previous file with comments | « third_party/tcmalloc/vendor/configure ('k') | third_party/tcmalloc/vendor/doc/heapprofile.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698