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

Side by Side Diff: tools/clang/scripts/package.sh

Issue 303473011: Package libclang_rt.san-{i386,x86_64}.a for Chromium Clang. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added xargs Created 6 years, 6 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This script will check out llvm and clang, and then package the results up 6 # This script will check out llvm and clang, and then package the results up
7 # to a tgz file. 7 # to a tgz file.
8 8
9 gcc_toolchain= 9 gcc_toolchain=
10 10
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 BLINKGCPLUGIN_LIBNAME=\ 118 BLINKGCPLUGIN_LIBNAME=\
119 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \ 119 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \
120 | cut -d ' ' -f 3) 120 | cut -d ' ' -f 3)
121 cp "${LLVM_LIB_DIR}/lib${BLINKGCPLUGIN_LIBNAME}.${SO_EXT}" $PDIR/lib 121 cp "${LLVM_LIB_DIR}/lib${BLINKGCPLUGIN_LIBNAME}.${SO_EXT}" $PDIR/lib
122 122
123 if [[ -n "${gcc_toolchain}" ]]; then 123 if [[ -n "${gcc_toolchain}" ]]; then
124 # Copy the stdlibc++.so.6 we linked Clang against so it can run. 124 # Copy the stdlibc++.so.6 we linked Clang against so it can run.
125 cp "${LLVM_LIB_DIR}/libstdc++.so.6" $PDIR/lib 125 cp "${LLVM_LIB_DIR}/libstdc++.so.6" $PDIR/lib
126 fi 126 fi
127 127
128 # Copy built-in headers (lib/clang/3.2/include). 128 # Copy built-in headers (lib/clang/3.x.y/include).
129 # libcompiler-rt puts all kinds of libraries there too, but we want only some. 129 # libcompiler-rt puts all kinds of libraries there too, but we want only some.
130 if [ "$(uname -s)" = "Darwin" ]; then 130 if [ "$(uname -s)" = "Darwin" ]; then
131 # Keep only the OSX (ASan and profile) and iossim (ASan) runtime libraries: 131 # Keep only the OSX (ASan and profile) and iossim (ASan) runtime libraries:
132 # Release+Asserts/lib/clang/*/lib/darwin/libclang_rt.{asan,profile}_* 132 # Release+Asserts/lib/clang/*/lib/darwin/libclang_rt.{asan,profile}_*
133 find "${LLVM_LIB_DIR}/clang" -type f -path '*lib/darwin*' \ 133 find "${LLVM_LIB_DIR}/clang" -type f -path '*lib/darwin*' \
134 ! -name '*asan_osx*' ! -name '*asan_iossim*' ! -name '*profile_osx*' | \ 134 ! -name '*asan_osx*' ! -name '*asan_iossim*' ! -name '*profile_osx*' | \
135 xargs rm 135 xargs rm
136 # Fix LC_ID_DYLIB for the ASan dynamic libraries to be relative to 136 # Fix LC_ID_DYLIB for the ASan dynamic libraries to be relative to
137 # @executable_path. 137 # @executable_path.
138 # TODO(glider): this is transitional. We'll need to fix the dylib name 138 # TODO(glider): this is transitional. We'll need to fix the dylib name
139 # either in our build system, or in Clang. See also http://crbug.com/344836. 139 # either in our build system, or in Clang. See also http://crbug.com/344836.
140 ASAN_DYLIB_NAMES="libclang_rt.asan_osx_dynamic.dylib 140 ASAN_DYLIB_NAMES="libclang_rt.asan_osx_dynamic.dylib
141 libclang_rt.asan_iossim_dynamic.dylib" 141 libclang_rt.asan_iossim_dynamic.dylib"
142 for ASAN_DYLIB_NAME in $ASAN_DYLIB_NAMES 142 for ASAN_DYLIB_NAME in $ASAN_DYLIB_NAMES
143 do 143 do
144 ASAN_DYLIB=$(find "${LLVM_LIB_DIR}/clang" \ 144 ASAN_DYLIB=$(find "${LLVM_LIB_DIR}/clang" \
145 -type f -path "*${ASAN_DYLIB_NAME}") 145 -type f -path "*${ASAN_DYLIB_NAME}")
146 install_name_tool -id @executable_path/${ASAN_DYLIB_NAME} "${ASAN_DYLIB}" 146 install_name_tool -id @executable_path/${ASAN_DYLIB_NAME} "${ASAN_DYLIB}"
147 done 147 done
148 else 148 else
149 # Keep only 149 # Keep only
150 # Release+Asserts/lib/clang/*/lib/linux/libclang_rt.{[atm]san,profile,ubsan}-* .a 150 # Release+Asserts/lib/clang/*/lib/linux/libclang_rt.{[atm]san,san,ubsan,profil e}-*.a
151 # , but not dfsan.
151 find "${LLVM_LIB_DIR}/clang" -type f -path '*lib/linux*' \ 152 find "${LLVM_LIB_DIR}/clang" -type f -path '*lib/linux*' \
152 ! -name '*[atm]san*' ! -name '*profile*' ! -name '*ubsan*' | xargs rm 153 ! -name '*[atm]san*' ! -name '*ubsan*' ! -name '*libclang_rt.san*' \
154 ! -name '*profile*' | xargs rm
155 # Strip the debug info from the runtime libraries.
156 find "${LLVM_LIB_DIR}/clang" -type f -path '*lib/linux*' | xargs strip -g
153 fi 157 fi
154 158
155 cp -R "${LLVM_LIB_DIR}/clang" $PDIR/lib 159 cp -R "${LLVM_LIB_DIR}/clang" $PDIR/lib
156 160
157 tar zcf $PDIR.tgz -C $PDIR bin lib buildlog.txt 161 tar zcf $PDIR.tgz -C $PDIR bin lib buildlog.txt
158 162
159 if [ "$(uname -s)" = "Darwin" ]; then 163 if [ "$(uname -s)" = "Darwin" ]; then
160 PLATFORM=Mac 164 PLATFORM=Mac
161 else 165 else
162 PLATFORM=Linux_x64 166 PLATFORM=Linux_x64
163 fi 167 fi
164 168
165 echo To upload, run: 169 echo To upload, run:
166 echo gsutil cp -a public-read $PDIR.tgz \ 170 echo gsutil cp -a public-read $PDIR.tgz \
167 gs://chromium-browser-clang/$PLATFORM/$PDIR.tgz 171 gs://chromium-browser-clang/$PLATFORM/$PDIR.tgz
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698