aboutsummaryrefslogtreecommitdiffhomepage
path: root/compile.sh
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2015-03-06 16:00:46 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-03-10 13:55:28 +0000
commitac271145c5db6b4f674dc70e4d233a3278ace601 (patch)
treed72b01770ee0b42221410a47d31c6c71b1a8b0ae /compile.sh
parent795895aff87cdb0a5a1e8850b17ccf3863547a1c (diff)
Rewrite fromhost/BUILD on each compile.sh run
Otherwise it keeps appending libarchive library targets to the existing BUILD file. -- MOS_MIGRATED_REVID=87942865
Diffstat (limited to 'compile.sh')
-rwxr-xr-xcompile.sh107
1 files changed, 57 insertions, 50 deletions
diff --git a/compile.sh b/compile.sh
index 2fcb525dd9..c7e87227b4 100755
--- a/compile.sh
+++ b/compile.sh
@@ -64,29 +64,11 @@ function log() {
fi
}
-# Create symlinks so we can use tools from the base_workspace.
-rm -f base_workspace/tools && ln -s $(pwd)/tools base_workspace/tools
-rm -f base_workspace/third_party && ln -s $(pwd)/third_party base_workspace/third_party
-
-mkdir -p fromhost
-# Do not overwrite fromhost/BUILD with a dummy if it already exists.
-if [ ! -f fromhost/BUILD ]; then
- cat << EOF > fromhost/BUILD
+function write_fromhost_build() {
+ case "${PLATFORM}" in
+ linux)
+ cat << EOF > fromhost/BUILD
package(default_visibility = ["//visibility:public"])
-EOF
-fi
-
-case "${PLATFORM}" in
-linux)
- # Sorry, no static linking on linux for now.
- LDFLAGS="$(pkg-config libarchive --libs) -lrt $LDFLAGS"
- JNILIB="libunix.so"
- MD5SUM="md5sum"
- # JAVA_HOME must point to a Java 8 installation.
- JAVA_HOME=${JAVA_HOME:-$(readlink -f $(which javac) | sed "s_/bin/javac__")}
- PROTOC=${PROTOC:-third_party/protobuf/protoc.amd64}
-
-cat << EOF >> fromhost/BUILD
cc_library(
name = "libarchive",
srcs = [],
@@ -94,19 +76,20 @@ cc_library(
)
EOF
- ;;
-darwin)
- homebrew_header=$(ls -1 $(brew --prefix 2>/dev/null)/Cellar/libarchive/*/include/archive.h 2>/dev/null | head -n1)
- if [[ -e $homebrew_header ]]; then
- rm -f fromhost/*.[ah]
- touch fromhost/empty.c
- # For use with Homebrew.
- archive_dir=$(dirname $(dirname $homebrew_header))
- ARCHIVE_CFLAGS="-I${archive_dir}/include"
- LDFLAGS="-L${archive_dir}/lib -larchive $LDFLAGS"
-
- cp ${archive_dir}/lib/*.a ${archive_dir}/include/*.h fromhost/
- cat << EOF >> fromhost/BUILD
+ ;;
+ darwin)
+ homebrew_header=$(ls -1 $(brew --prefix 2>/dev/null)/Cellar/libarchive/*/include/archive.h 2>/dev/null | head -n1)
+ if [[ -e $homebrew_header ]]; then
+ rm -f fromhost/*.[ah]
+ touch fromhost/empty.c
+ # For use with Homebrew.
+ archive_dir=$(dirname $(dirname $homebrew_header))
+ ARCHIVE_CFLAGS="-I${archive_dir}/include"
+ LDFLAGS="-L${archive_dir}/lib -larchive $LDFLAGS"
+
+ cp ${archive_dir}/lib/*.a ${archive_dir}/include/*.h fromhost/
+ cat << EOF > fromhost/BUILD
+package(default_visibility = ["//visibility:public"])
cc_library(
name = "libarchive",
srcs = glob(["*.a"]) + ["empty.c"],
@@ -116,22 +99,23 @@ cc_library(
)
EOF
- elif [[ -e /opt/local/include/archive.h ]]; then
- # For use with Macports.
- rm -f fromhost/*.[ah]
- touch fromhost/empty.c
- cp /opt/local/include/archive.h /opt/local/include/archive_entry.h fromhost/
- cp /opt/local/lib/{libarchive,liblzo2,liblzma,libcharset,libbz2,libxml2,libz,libiconv}.a \
- fromhost/
-
- ARCHIVE_CFLAGS="-Ifromhost"
- # Link libarchive statically
- LDFLAGS="fromhost/libarchive.a fromhost/liblzo2.a \
+ elif [[ -e /opt/local/include/archive.h ]]; then
+ # For use with Macports.
+ rm -f fromhost/*.[ah]
+ touch fromhost/empty.c
+ cp /opt/local/include/archive.h /opt/local/include/archive_entry.h fromhost/
+ cp /opt/local/lib/{libarchive,liblzo2,liblzma,libcharset,libbz2,libxml2,libz,libiconv}.a \
+ fromhost/
+
+ ARCHIVE_CFLAGS="-Ifromhost"
+ # Link libarchive statically
+ LDFLAGS="fromhost/libarchive.a fromhost/liblzo2.a \
fromhost/liblzma.a fromhost/libcharset.a \
fromhost/libbz2.a fromhost/libxml2.a \
fromhost/libz.a fromhost/libiconv.a \
$LDFLAGS"
- cat << EOF >> fromhost/BUILD
+ cat << EOF > fromhost/BUILD
+package(default_visibility = ["//visibility:public"])
cc_library(
name = "libarchive",
srcs = glob(["*.a"]) + ["empty.c"],
@@ -139,10 +123,33 @@ cc_library(
includes = ["."],
)
EOF
- else
- log "WARNING: Could not find libarchive installation, proceeding bravely."
- fi
+ else
+ log "WARNING: Could not find libarchive installation, proceeding bravely."
+ fi
+ esac
+}
+
+# Create symlinks so we can use tools from the base_workspace.
+rm -f base_workspace/tools && ln -s $(pwd)/tools base_workspace/tools
+rm -f base_workspace/third_party && ln -s $(pwd)/third_party base_workspace/third_party
+
+mkdir -p fromhost
+if [ ! -f fromhost/BUILD ]; then
+ write_fromhost_build
+fi
+
+case "${PLATFORM}" in
+linux)
+ # Sorry, no static linking on linux for now.
+ LDFLAGS="$(pkg-config libarchive --libs) -lrt $LDFLAGS"
+ JNILIB="libunix.so"
+ MD5SUM="md5sum"
+ # JAVA_HOME must point to a Java 8 installation.
+ JAVA_HOME=${JAVA_HOME:-$(readlink -f $(which javac) | sed "s_/bin/javac__")}
+ PROTOC=${PROTOC:-third_party/protobuf/protoc.amd64}
+ ;;
+darwin)
JNILIB="libunix.dylib"
MD5SUM="md5"
if [[ -z "$JAVA_HOME" ]]; then