diff options
Diffstat (limited to 'base/allocator/prep_libc.sh')
-rw-r--r-- | base/allocator/prep_libc.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/base/allocator/prep_libc.sh b/base/allocator/prep_libc.sh new file mode 100644 index 0000000..08d5acb --- /dev/null +++ b/base/allocator/prep_libc.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# This script takes libcmt.lib for VS2005 and removes the allocation related +# functions from it. +# +# Usage: prep_libcmt.bat <VCInstallDir> <OutputFile> +# +# VCInstallDir is the path where VC is installed, typically: +# C:\Program Files\Microsoft Visual Studio 8\VC\ +# +# OutputFile is the directory where the modified libcmt file should be stored. +# + +LIBCMT="${1}\\libcmt.lib" +LIBCMTPDB="${1}\\libcmt.pdb" +OUTDIR=$2 +OUTCMT="${2}\\libcmt.lib" + +mkdir -p $OUTDIR +cp "$LIBCMT" "$OUTDIR" +cp "$LIBCMTPDB" "$OUTDIR" + + +# We'll remove the symbols based on paths found in either the VS2005 or VS2008 +# libcmt.lib files. +LIBCMTSRCPATHVS2005="build\\intel\\mt_obj\\" +LIBCMTSRCPATHVS2008="f:\\dd\\vctools\\crt_bld\\SELF_X86\\crt\\src\\build\\INTEL\\mt_obj\\" + +OBJFILES="malloc.obj free.obj realloc.obj new.obj delete.obj new2.obj delete2.obj align.obj msize.obj heapinit.obj expand.obj heapchk.obj heapwalk.obj heapmin.obj sbheap.obj calloc.obj recalloc.obj calloc_impl.obj new_mode.obj newopnt.obj" + +for FILE in $OBJFILES +do + echo ${FILE} + LIB /NOLOGO /IGNORE:4006,4014,4221 /REMOVE:${LIBCMTSRCPATHVS2005}${FILE} $OUTCMT + LIB /NOLOGO /IGNORE:4006,4014,4221 /REMOVE:${LIBCMTSRCPATHVS2008}${FILE} $OUTCMT +done |