diff options
author | Kristina Chodorow <kchodorow@google.com> | 2015-03-06 16:00:46 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-03-10 13:55:28 +0000 |
commit | ac271145c5db6b4f674dc70e4d233a3278ace601 (patch) | |
tree | d72b01770ee0b42221410a47d31c6c71b1a8b0ae /compile.sh | |
parent | 795895aff87cdb0a5a1e8850b17ccf3863547a1c (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-x | compile.sh | 107 |
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 |