Check-in [3cc0a3a464]
Overview
Comment:Updated KitDLL to sometimes link against Tcl and Tk stubs, if needed
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:3cc0a3a464f51eccfad8e3bb1575c5c713a8ee9c
User & Date: rkeene on 2010-10-02 05:46:25
Other Links: manifest | tags
Context
2010-10-02
06:14
Add documentation about KitDLL check-in: bf5a9f5551 user: rkeene tags: trunk
05:46
Updated KitDLL to sometimes link against Tcl and Tk stubs, if needed check-in: 3cc0a3a464 user: rkeene tags: trunk
04:02
Updated to rename Win32 libraries to more windows-specific names check-in: 491345c1fd user: rkeene tags: trunk
Changes

Modified kitdll/buildsrc/kitdll-0.0/aclocal.m4 from [0eda8eddf5] to [7d095794dd].

   213    213   			AC_DEFINE(BUILD_tk, [1], [Define if you need to pretend to be building Tk (Windows)])
   214    214   			;;
   215    215   		cygwin*)
   216    216   			CFLAGS="${CFLAGS} -mms-bitfields"
   217    217   			;;
   218    218   	esac
   219    219   ])
          220  +
          221  +AC_DEFUN(DC_TEST_WHOLE_ARCHIVE_SHARED_LIB, [
          222  +	SAVE_LIBS="${LIBS}"
          223  +
          224  +	LIBS="-Wl,--whole-archive $1 -Wl,--no-whole-archive ${SAVE_LIBS}"
          225  +	AC_LINK_IFELSE(
          226  +		AC_LANG_PROGRAM([[
          227  +			]], [[
          228  +			]]
          229  +		),
          230  +		[
          231  +			LIBS="${SAVE_LIBS}"
          232  +
          233  +			$2
          234  +		], [
          235  +			LIBS="${SAVE_LIBS}"
          236  +
          237  +			$3
          238  +		]
          239  +	)
          240  +])
   220    241   
   221    242   AC_DEFUN(DC_FIND_TCLKIT_LIBS, [
   222    243   	DC_SETUP_TCL_PLAT_DEFS
   223    244   
   224    245   	WISH_CFLAGS=""
   225    246   
   226    247   	for proj in tcl tclvfs tk; do
................................................................................
   227    248   		AC_MSG_CHECKING([for libraries required for ${proj}])
   228    249   
   229    250   		libdir="../../../${proj}/inst"
   230    251   		libfiles="`find "${libdir}" -name '*.a' 2>/dev/null | tr "\n" ' '`"
   231    252   		libfilesnostub="`find "${libdir}" -name '*.a' 2>/dev/null | grep -v 'stub' | tr "\n" ' '`"
   232    253   
   233    254   		if test "$proj" = "tcl"; then
   234         -			libfiles="${libfilesnostub}"
          255  +			DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfilesnostub], [
          256  +				libfiles="${libfilesnostub}"
          257  +			], [
          258  +				DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfiles], [
          259  +					libfiles="${libfiles}"
          260  +				])
          261  +			])
   235    262   		fi
   236    263   
   237    264   		if test "$proj" = "tk"; then
   238         -			libfiles="${libfilesnostub}"
   239    265   			if test -n "$libfiles"; then
   240    266   				DC_DO_TK
          267  +				DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfilesnostub], [
          268  +					libfiles="${libfilesnostub}"
          269  +				], [
          270  +					DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfiles], [
          271  +						libfiles="${libfiles}"
          272  +					])
          273  +				])
          274  +
   241    275   				AC_DEFINE(KIT_INCLUDES_TK, [1], [Specify this if we link statically to Tk])
   242    276   
   243    277   				if test -n "${TK_VERSION}"; then
   244    278   					AC_DEFINE_UNQUOTED(KIT_TK_VERSION, "${TK_VERSION}${TK_PATCH_LEVEL}", [Specify the version of Tk])
   245    279   				fi
   246    280   
   247    281   				if test "$host_os" = "mingw32msvc" -o "$host_os" = "mingw32"; then