mirror of
https://github.com/nix-community/hpe-ltfs.git
synced 2025-12-23 05:55:13 +00:00
78 lines
1.5 KiB
Bash
Executable File
78 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
KERNEL_NAME=`uname -s`
|
|
if [ "$KERNEL_NAME" = "Darwin" ]; then
|
|
ICU_FRAMEWORK=/Library/Frameworks/ICU.framework
|
|
export PATH=${PATH}:${ICU_FRAMEWORK}/Versions/Current/usr/bin
|
|
export DYLD_LIBRARY_PATH=${ICU_FRAMEWORK}/Versions/Current/usr/lib
|
|
GENRB=${ICU_FRAMEWORK}/Versions/Current/usr/bin/genrb
|
|
PKGDATA=${ICU_FRAMEWORK}/Versions/Current/usr/bin/pkgdata
|
|
else
|
|
GENRB=genrb
|
|
PKGDATA=pkgdata
|
|
fi
|
|
|
|
if [ "$#" -ne "1" ]; then
|
|
echo "Usage: $0 object_file"
|
|
exit 1
|
|
fi
|
|
|
|
BASENAME=`echo $1 | sed -e 's/_dat\.o$//'`
|
|
|
|
cd ${BASENAME}
|
|
|
|
make_obj() {
|
|
# Create a fresh work directory
|
|
if [ -d work ]; then
|
|
rm -rf work
|
|
fi
|
|
mkdir work
|
|
|
|
# Generate files
|
|
${GENRB} -d work -q *.txt
|
|
cd work
|
|
ls *.res >packagelist.txt
|
|
${PKGDATA} -p ${BASENAME} -m static -q packagelist.txt >/dev/null
|
|
|
|
case $KERNEL_NAME in
|
|
MINGW32_NT*)
|
|
#
|
|
# HPE_mingw_BUILD
|
|
#
|
|
# We use dynamic libraries for the package data, so use the
|
|
# -m dll switch
|
|
#
|
|
${PKGDATA} -p ${BASENAME} -m dll -q packagelist.txt >/dev/null
|
|
|
|
# Copy the resulting DLL as both a link library
|
|
# (lib*.a) and the DLL with the package data
|
|
# (*.dll). Libtool will happily use the copy of
|
|
# the DLL to link
|
|
#
|
|
cp ${BASENAME}.dll ../../lib${BASENAME}.a
|
|
cp ${BASENAME}.dll ../../${BASENAME}.dll
|
|
;;
|
|
*)
|
|
mv ${BASENAME}_dat.o ../../
|
|
;;
|
|
esac
|
|
|
|
# Clean up
|
|
cd ..
|
|
rm -rf work
|
|
}
|
|
|
|
# Check whether we need to do anything
|
|
if [ -f "../$1" ]; then
|
|
for file in *; do
|
|
if [ "$file" -nt "../$1" ]; then
|
|
make_obj
|
|
exit 0
|
|
fi
|
|
done
|
|
else
|
|
make_obj
|
|
fi
|