From 8b8832e0dff8ed9dc44b6210c393585183935979 Mon Sep 17 00:00:00 2001 From: "sgk@google.com" Date: Sat, 6 Jun 2009 12:42:36 +0000 Subject: Convert tcmalloc (and its modified libcmt) to building with gyp. BUG=none TEST=none Review URL: http://codereview.chromium.org/119265 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17828 0039d316-1c4b-4281-b951-d872f2087c98 --- third_party/tcmalloc/prep_libc.sh | 6 +- third_party/tcmalloc/tcmalloc.gyp | 97 ++++++++++++ third_party/tcmalloc/tcmalloc.vcproj | 296 +++++++---------------------------- 3 files changed, 157 insertions(+), 242 deletions(-) create mode 100644 third_party/tcmalloc/tcmalloc.gyp (limited to 'third_party/tcmalloc') diff --git a/third_party/tcmalloc/prep_libc.sh b/third_party/tcmalloc/prep_libc.sh index 4f0eb4d..8b3b95b 100644 --- a/third_party/tcmalloc/prep_libc.sh +++ b/third_party/tcmalloc/prep_libc.sh @@ -15,7 +15,7 @@ LIBCMTPDB="${1}\\libcmt.pdb" OUTDIR=$2 OUTCMT="${2}\\libcmt.lib" -mkdir $OUTDIR +mkdir -p $OUTDIR cp "$LIBCMT" "$OUTDIR" cp "$LIBCMTPDB" "$OUTDIR" @@ -29,6 +29,6 @@ OBJFILES="malloc.obj free.obj realloc.obj new.obj delete.obj new2.obj delete2.ob for FILE in $OBJFILES do - LIB /IGNORE:4006,4221 /REMOVE:${LIBCMTSRCPATHVS2005}${FILE} $OUTCMT - LIB /IGNORE:4006,4221 /REMOVE:${LIBCMTSRCPATHVS2008}${FILE} $OUTCMT + LIB /IGNORE:4006,4014,4221 /REMOVE:${LIBCMTSRCPATHVS2005}${FILE} $OUTCMT + LIB /IGNORE:4006,4014,4221 /REMOVE:${LIBCMTSRCPATHVS2008}${FILE} $OUTCMT done diff --git a/third_party/tcmalloc/tcmalloc.gyp b/third_party/tcmalloc/tcmalloc.gyp new file mode 100644 index 0000000..f7e6168 --- /dev/null +++ b/third_party/tcmalloc/tcmalloc.gyp @@ -0,0 +1,97 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'includes': [ + '../../build/common.gypi', + ], + 'targets': [ + { + 'target_name': 'tcmalloc', + 'type': '<(library)', + 'msvs_guid': 'C564F145-9172-42C3-BFCB-60FDEA124321', + 'dependencies': [ + 'libcmt', + ], + 'include_dirs': [ + '.', + 'tcmalloc/src/windows', + 'tcmalloc/src/base', + 'tcmalloc/src', + ], + 'direct_dependent_settings': { + 'msvs_settings': { + 'VCLinkerTool': { + 'IgnoreDefaultLibraryNames': ['libcmtd.lib', 'libcmt.lib'], + 'AdditionalDependencies': [ + '<(SHARED_INTERMEDIATE_DIR)/tcmalloc/libcmt.lib' + ], + }, + }, + }, + 'sources': [ + 'tcmalloc/src/base/dynamic_annotations.cc', + 'tcmalloc/src/base/logging.cc', + 'tcmalloc/src/base/low_level_alloc.cc', + 'tcmalloc/src/base/spinlock.cc', + 'tcmalloc/src/base/sysinfo.cc', + 'tcmalloc/src/central_freelist.cc', + 'tcmalloc/src/common.cc', + 'tcmalloc/src/heap-profile-table.cc', + 'tcmalloc/src/internal_logging.cc', + 'tcmalloc/src/malloc_extension.cc', + 'tcmalloc/src/malloc_hook.cc', + 'tcmalloc/src/page_heap.cc', + 'tcmalloc/src/sampler.cc', + 'tcmalloc/src/span.cc', + 'tcmalloc/src/stack_trace_table.cc', + 'tcmalloc/src/stacktrace.cc', + 'tcmalloc/src/static_vars.cc', + 'tcmalloc/src/thread_cache.cc', + 'tcmalloc/src/windows/override_functions.cc', + 'tcmalloc/src/windows/port.cc', + ], + 'msvs_settings': { + # TODO(sgk): merge this with build/common.gypi settings + 'VCLibrarianTool=': { + 'AdditionalOptions': '/ignore:4006,4221', + 'AdditionalLibraryDirectories': + '<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib', + }, + 'VCLinkerTool': { + 'AdditionalOptions': '/ignore:4006', + }, + }, + 'configurations': { + 'Debug': { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'RuntimeLibrary': '0', + }, + }, + }, + }, + }, + { + 'target_name': 'libcmt', + 'type': 'none', + 'actions': [ + { + 'action_name': 'libcmt', + 'inputs': [ + 'prep_libc.sh', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/tcmalloc/libcmt.lib', + ], + 'action': [ + './prep_libc.sh', + '$(VCInstallDir)lib', + '<(SHARED_INTERMEDIATE_DIR)/tcmalloc', + ], + }, + ], + }, + ], +} diff --git a/third_party/tcmalloc/tcmalloc.vcproj b/third_party/tcmalloc/tcmalloc.vcproj index 8412803..2aad06d 100644 --- a/third_party/tcmalloc/tcmalloc.vcproj +++ b/third_party/tcmalloc/tcmalloc.vcproj @@ -1,240 +1,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.1