#!/bin/sh # Run the shared library dynamic loading demo program. # This is only expected to work when Mbed TLS is built as a shared library. # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. set -e -u program_name="dlopen" program_dir="${0%/*}" program="$program_dir/$program_name" if [ ! -e "$program" ]; then # Look for programs in the current directory and the directories above it for dir in "." ".." "../.."; do program_dir="$dir/programs/test" program="$program_dir/$program_name" if [ -e "$program" ]; then break fi done if [ ! -e "$program" ]; then echo "Could not find $program_name program" echo "Make sure that Mbed TLS is built as a shared library." \ "If building out-of-tree, this script must be run" \ "from the project build directory." exit 1 fi fi top_dir="$program_dir/../.." library_dir="$top_dir/library" # ELF-based Unix-like (Linux, *BSD, Solaris, ...) if [ -n "${LD_LIBRARY_PATH-}" ]; then LD_LIBRARY_PATH="$library_dir:$LD_LIBRARY_PATH" else LD_LIBRARY_PATH="$library_dir" fi export LD_LIBRARY_PATH # OSX/macOS if [ -n "${DYLD_LIBRARY_PATH-}" ]; then DYLD_LIBRARY_PATH="$library_dir:$DYLD_LIBRARY_PATH" else DYLD_LIBRARY_PATH="$library_dir" fi export DYLD_LIBRARY_PATH echo "Running dynamic loading test program: $program" echo "Loading libraries from: $library_dir" "$program"