diff options
Diffstat (limited to 'src/boost/libs/config/test/link/bc_gen.sh')
-rw-r--r-- | src/boost/libs/config/test/link/bc_gen.sh | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/src/boost/libs/config/test/link/bc_gen.sh b/src/boost/libs/config/test/link/bc_gen.sh new file mode 100644 index 00000000..07ff3aa5 --- /dev/null +++ b/src/boost/libs/config/test/link/bc_gen.sh @@ -0,0 +1,286 @@ +#! /usr/bin/env bash + +# copyright John Maddock 2005 +# Use, modification and distribution are subject to the +# Boost Software License, Version 1.0. (See accompanying file +# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +libname="" +src="" +header="" +all_dep="" + +# current makefile: +out="" +# temporary file: +tout="" +# install target temp file: +iout="" +# debug flag: +debug="no" +# compile options: +opts="" +# main output sub-directory: +subdir="" + +####################################################################### +# +# section for C++ Builder +# +####################################################################### + +function bcb_gen_lib() +{ + all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe" + echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout +# +# set up section comments: + cat >> $tout << EOF +######################################################## +# +# section for $libname.lib +# +######################################################## +EOF +# +# process source files: + all_obj="" + all_lib_obj="" + for file in $src + do + obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'` + obj="$subdir\\$libname\\$obj" + all_obj="$all_obj $obj" + all_lib_obj="$all_lib_obj \"$obj\"" + echo "$obj: $file \$(ALL_HEADER)" >> $tout + echo " bcc32 @&&|" >> $tout + echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout + echo "|" >> $tout + echo "" >> $tout + done +# +# now for the directories for this library: + echo "$subdir\\$libname : " >> $tout + echo " -@mkdir $subdir\\$libname" >> $tout + echo "" >> $tout +# +# now for the clean options for this library: + all_clean="$all_clean $libname""_clean" + echo "$libname"_clean : >> $tout + echo " del $subdir\\$libname\\"'*.obj' >> $tout + echo " del $subdir\\$libname\\"'*.il?' >> $tout + echo " del $subdir\\$libname\\"'*.csm' >> $tout + echo " del $subdir\\$libname\\"'*.tds' >> $tout + echo "" >> $tout +# +# now for the main target for this library: + echo $subdir\\$libname.lib : $all_obj >> $tout + echo " tlib @&&|" >> $tout + echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout + echo "|" >> $tout + echo "" >> $tout +# now the test program: + echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout + echo " bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout + echo " echo running test progam $subdir"'\'"$libname.exe" >> $tout + echo " $subdir"'\'"$libname.exe" >> $tout + echo "" >> $tout +} + +function bcb_gen_dll() +{ + all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe" + echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout + echo " copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout + echo " copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout +# +# set up section comments: + cat >> $tout << EOF +######################################################## +# +# section for $libname.lib +# +######################################################## +EOF +# +# process source files: + all_obj="" + for file in $src + do + obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'` + obj="$subdir\\$libname\\$obj" + all_obj="$all_obj $obj" + echo "$obj: $file \$(ALL_HEADER)" >> $tout + echo " bcc32 @&&|" >> $tout + echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_DYN_LINK -o$obj $file" >> $tout + echo "|" >> $tout + echo "" >> $tout + done +# +# now for the directories for this library: + echo "$subdir\\$libname :" >> $tout + echo " -@mkdir $subdir\\$libname" >> $tout + echo "" >> $tout +# +# now for the clean options for this library: + all_clean="$all_clean $libname""_clean" + echo "$libname"_clean : >> $tout + echo " del $subdir\\$libname\\"'*.obj' >> $tout + echo " del $subdir\\$libname\\"'*.il?' >> $tout + echo " del $subdir\\$libname\\"'*.csm' >> $tout + echo " del $subdir\\$libname\\"'*.tds' >> $tout + echo " del $subdir\\"'*.tds' >> $tout + echo "" >> $tout +# +# now for the main target for this library: + echo $subdir\\$libname.lib : $all_obj >> $tout + echo " bcc32 @&&|" >> $tout + echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout + echo "|" >> $tout + echo " implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout + echo "" >> $tout +# now the test program: + echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout + echo " bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -DBOOST_DYN_LINK -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout + echo " echo running test program $subdir"'\'"$libname.exe" >> $tout + echo " $subdir"'\'"$libname.exe" >> $tout + echo "" >> $tout +} + + + +function bcb_gen() +{ + tout="temp" + iout="temp_install" + all_dep="$subdir" + all_clean="" + echo > $out + echo > $tout + rm -f $iout + + libname="liblink_test-${subdir}-s-${boost_version}" + opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../" + bcb_gen_lib + + libname="liblink_test-${subdir}-mt-s-${boost_version}" + opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../" + bcb_gen_lib + + libname="link_test-${subdir}-mt-${boost_version}" + opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_dll + + libname="link_test-${subdir}-${boost_version}" + opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_dll + + libname="liblink_test-${subdir}-mt-${boost_version}" + opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_lib + + libname="liblink_test-${subdir}-${boost_version}" + opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_lib + # + # debug versions: + libname="liblink_test-${subdir}-sd-${boost_version}" + opts="-tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../" + bcb_gen_lib + + libname="liblink_test-${subdir}-mt-sd-${boost_version}" + opts="-tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../" + bcb_gen_lib + + libname="link_test-${subdir}-mt-d-${boost_version}" + opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_dll + + libname="link_test-${subdir}-d-${boost_version}" + opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_dll + + libname="liblink_test-${subdir}-mt-d-${boost_version}" + opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_lib + + libname="liblink_test-${subdir}-d-${boost_version}" + opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" + bcb_gen_lib + + + cat > $out << EOF +# copyright John Maddock 2005 +# Use, modification and distribution are subject to the +# Boost Software License, Version 1.0. (See accompanying file +# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +# +# auto generated makefile for C++ Builder +# +# usage: +# make +# brings libraries up to date +# make install +# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended) +# make clean +# removes all temporary files. + +# +# Add additional compiler options here: +# +CXXFLAGS= +# +# Add additional include directories here: +# +INCLUDES= +# +# add additional linker flags here: +# +XLFLAGS= +# +# add additional libraries to link to here: +# +LIBS= +# +# add additional static-library creation flags here: +# +XSFLAGS= + +!ifndef BCROOT +BCROOT=\$(MAKEDIR)\\.. +!endif + +EOF + echo "" >> $out + echo "ALL_HEADER=$header" >> $out + echo "" >> $out + echo "all : $all_dep" >> $out + echo >> $out + echo "clean : $all_clean" >> $out + echo >> $out + echo "install : all" >> $out + cat $iout >> $out + echo >> $out + echo $subdir : >> $out + echo " -@mkdir $subdir" >> $out + echo "" >> $out + + cat $tout >> $out +} + +. common.sh + +# +# generate C++ Builder 6 files: +out="borland.mak" +subdir="borland" +has_stlport="yes" +bcb_gen + + + + + + + + |