phasicFlow/thirdParty/Zoltan/buildlib

34 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
cd ${0%/*} || exit 1 # Run from this directory
# Source the configurations - if there's a ./configurations file
[ -f ./configurations ] && source ./configurations
# Set environment variables to ensure shared library creation
export CFLAGS="-fPIC"
export CXXFLAGS="-fPIC"
export FCFLAGS="-fPIC"
# Create build directory
mkdir -p build
cd build
# Run configure with shared library options
echo "Running configure with options to build shared library..."
../configure --prefix=$PWD/.. --enable-shared --disable-static
# Run make and install
echo "Building and installing Zoltan..."
make install
# Convert static to shared library if static library exists and shared doesn't
echo "Checking for static library and converting to shared if needed..."
if [ -f "$PWD/../lib/libzoltan.a" ] && [ ! -f "$PWD/../lib/libzoltan.so" ]; then
echo "Converting static library to shared library..."
cd $PWD/../lib
gcc -shared -o libzoltan.so -Wl,--whole-archive libzoltan.a -Wl,--no-whole-archive
echo "Shared library created as libzoltan.so"
fi
echo "Build completed"