export PATH=/opt/IBM/xlC/16.1.2/bin/:/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java8_64/jre/bin:/usr/java8_64/bin

export LIBRARY_PATH=/opt/freeware/lib64:/opt/freeware/lib:/usr/lib64:/usr/lib
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib:/usr/lib64:/usr/lib

export OBJECT_MODE=32

VISIBILITY="-fvisibility=hidden -fvisibility-inlines-hidden"
VISIBILITY="-fvisibility=hidden"
VISIBILITY=""
echo "VISIBILITY= $VISIBILITY"

BUILDALL=1
if [ $BUILDALL -eq 1 ]
then
for i in cmdline config_file options_description parsers variables_map value_semantic positional_options utf8_codecvt_facet convert winmain split
do
  echo $i
  rm -f serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/$i.o
  clang++ -c -x c++ -fPIC -m32 -pthread -mcmodel=large -O3 -Wall \
	$VISIBILITY \
	-Wno-inline -O2 -fno-strict-aliasing -Wno-unused-local-typedefs \
	-Wno-deprecated-declarations -fno-inline -ffp-contract=off  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG -I. \
	-o serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/$i.o \
	libs/program_options/src/$i.cpp
done
fi

rm -f serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options.a

clang++   \
	-o serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options.a \
	-shared  \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/cmdline.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/config_file.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/options_description.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/parsers.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/variables_map.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/value_semantic.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/positional_options.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/utf8_codecvt_facet.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/convert.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/winmain.o \
	serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/pch-off/threading-multi/visibility-hidden/split.o     \
	-lrt  -fPIC -m32 -pthread -g $VISIBILITY -Wl,-bnoipath -Wl,-lpthread -Wl,-latomic 

ls -l serial/boost/bin.v2/libs/program_options/build/clang-linux-12.0.0/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/
