34 lines
1.1 KiB
Bash
Executable File
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"
|