#!/usr/bin/env bash

# This test makes sure that if lto is enabled and that all host libraries
# contain only bitcode.
#
# *NOTE* This will not trigger for embedded bitcode sections since to file those
# are still mach-o files and come up as such.

set -e
set -u

# REQUIRES: lto
# REQUIRES: OS=macosx
# RUN: %s %swift_obj_root

if find $1/lib -iname '*.cpp.o' -type f -exec file {} \; | grep -q -v -e bitcode -e bit-code; then
    echo "Found a ./lib non-bitcode object file!"
    exit 1
else
    echo "All ./lib object files are bit-code files!"
fi

if find $1/unittests -iname '*.cpp.o' -type f -exec file {} \; | grep -q -v -e bitcode -e bit-code; then
    echo "Found a ./unittests non-bitcode object file!"
    exit 1
else
    echo "All ./unittests object files are bit-code files!"
fi

set +u
set +e
