Overview
Comment: | Updated to weaken symbols from non-Tcl/Tk related libraries in KitDLL |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | af522d011fff43d1d5bd679f9e4016ffd798ebbb |
User & Date: | rkeene on 2011-03-07 07:02:39 |
Other Links: | manifest | tags |
Context
2011-03-08
| ||
03:50 | Updated to build with new toolchain check-in: de3aacd495 user: rkeene tags: trunk | |
2011-03-07
| ||
07:02 | Updated to weaken symbols from non-Tcl/Tk related libraries in KitDLL check-in: af522d011f user: rkeene tags: trunk | |
2011-03-04
| ||
19:00 | Updated documentation and tests to reflect change to remove bundled packages during a minimal build check-in: acdbe69639 user: rkeene tags: trunk | |
Changes
Modified kitdll/buildsrc/kitdll-0.0/Makefile.in from [024981b5ad] to [54a46a52d1].
1 1 CC = @CC@ 2 +OBJCOPY = @OBJCOPY@ 2 3 CFLAGS = @CFLAGS@ @SHOBJFLAGS@ -Wall 3 4 CPPFLAGS = @CPPFLAGS@ @DEFS@ -DKITDLL_MAKE_LOADABLE=1 4 5 WISH_CFLAGS = @WISH_CFLAGS@ 5 6 LDFLAGS = @LDFLAGS@ 6 7 SHOBJLDFLAGS = @SHOBJLDFLAGS@ 7 8 LIBS = @LIBS@ 8 9 STATICLIBS = @ARCHS@ 10 +STRIPLIBS = @STRIPLIBS@ @EXTRA_OBJS@ 9 11 OBJS = vfs_kitdll_data_tcl.o kitInit.o rechan.o pwb.o zlib.o 10 12 EXTRA_OBJS = @EXTRA_OBJS@ 11 13 TCLSH_NATIVE = tclsh 12 14 13 15 # Default target 14 16 all: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ 15 17 ................................................................................ 27 29 ## Extensions 28 30 rechan.o: rechan.c 29 31 pwb.o: pwb.c 30 32 zlib.o: zlib.c 31 33 32 34 ## DLL Build 33 35 libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_OBJS) 36 + -for striplib in $(STRIPLIBS); do $(OBJCOPY) --weaken "$${striplib}"; done 34 37 $(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(STATICLIBS) @NOWHOLEARCHIVE@ $(LIBS) 35 38 36 39 # Test driver 37 40 tclsh.o: tclsh.c 38 41 tclsh: tclsh.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ 39 42 $(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ -Wl,-rpath,. 40 43
Modified kitdll/buildsrc/kitdll-0.0/aclocal.m4 from [57e33ec54f] to [0c2240a08b].
281 281 dnl Sun Studio uses -lCstd -lCrun, most platforms use -lstdc++ 282 282 DC_DO_STATIC_LINK_LIB([C++ Library (Sun Studio)], [-lCstd -lCrun],, [ 283 283 DC_DO_STATIC_LINK_LIB([C++ Library (UNIX)], [-lstdc++]) 284 284 ]) 285 285 ]) 286 286 287 287 AC_DEFUN(DC_FIND_TCLKIT_LIBS, [ 288 + AC_CHECK_TOOL(OBJCOPY, objcopy, [:]) 289 + 288 290 DC_SETUP_TCL_PLAT_DEFS 289 291 290 292 WISH_CFLAGS="" 291 293 292 294 dnl We will need this for the Tcl project, which we will always have 293 295 DC_CHECK_FOR_WHOLE_ARCHIVE 294 296 ................................................................................ 298 300 libdir="../../../${proj}/inst" 299 301 libfiles="`find "${libdir}" -name '*.a' 2>/dev/null | tr "\n" ' '`" 300 302 libfilesnostub="`find "${libdir}" -name '*.a' 2>/dev/null | grep -v 'stub' | tr "\n" ' '`" 301 303 302 304 for libfile in ${libfiles}; do 303 305 LDFLAGS="${LDFLAGS} -L`dirname "${libfile}"`" 304 306 done 307 + 308 + hide_symbols="1" 305 309 306 310 if test "$proj" = "tcl"; then 307 311 DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfilesnostub], [ 308 312 libfiles="${libfilesnostub}" 309 313 ], [ 310 314 DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfiles], [ 311 315 libfiles="${libfiles}" 312 316 ]) 313 317 ]) 318 + 319 + hide_symbols="0" 314 320 fi 315 321 316 322 if test "${proj}" = "mk4tcl"; then 317 323 if test -n "$libfiles"; then 318 324 AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl]) 319 325 DC_DO_STATIC_LINK_LIBCXX 320 326 fi ................................................................................ 336 342 if test -n "${TK_VERSION}"; then 337 343 AC_DEFINE_UNQUOTED(KIT_TK_VERSION, "${TK_VERSION}${TK_PATCH_LEVEL}", [Specify the version of Tk]) 338 344 fi 339 345 340 346 if test "$host_os" = "mingw32msvc" -o "$host_os" = "mingw32"; then 341 347 WISH_CFLAGS="-mwindows" 342 348 fi 349 + 350 + hide_symbols="0" 343 351 fi 344 352 fi 345 353 346 354 ARCHS="${ARCHS} ${libfiles}" 347 355 348 356 AC_MSG_RESULT([${libfiles}]) 357 + 358 + if test "${hide_symbols}" = "1"; then 359 + STRIPLIBS="${STRIPLIBS} ${libfiles}" 360 + fi 361 + 349 362 done 350 363 351 364 AC_SUBST(WISH_CFLAGS) 352 365 AC_SUBST(ARCHS) 366 + AC_SUBST(STRIPLIBS) 353 367 ]) 354 368 355 369 AC_DEFUN(DC_CHECK_FOR_ACCEPTABLE_DLADDR, [ 356 370 AC_CHECK_HEADERS(dlfcn.h) 357 371 AC_CHECK_FUNCS(dladdr) 358 372 359 373 AC_MSG_CHECKING([for acceptable dladdr])