Overview
| Comment: | Updated to not build TCC as a static so that existing symbols could resolved by TCC itself |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
fd6711ab7374b8fff538aa6ef3ad4869 |
| User & Date: | rkeene on 2014-06-16 04:48:58.333 |
| Other Links: | manifest | tags |
Context
|
2014-06-17
| ||
| 05:26 | tcc4tcl 0.19 check-in: 3c95a2ab7e user: rkeene tags: trunk, 0.19 | |
|
2014-06-16
| ||
| 04:48 | Updated to not build TCC as a static so that existing symbols could resolved by TCC itself check-in: fd6711ab73 user: rkeene tags: trunk | |
| 04:20 | Updated to allow external symbols to be resolved if dlopen() is available check-in: 82e8ebb242 user: rkeene tags: trunk | |
Changes
Modified Makefile.in
from [a0fe9448ac]
to [0a8186dc49].
| ︙ | |||
19 20 21 22 23 24 25 | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | - + | PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ TCLCONFIGPATH = @TCLCONFIGPATH@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ tcllibdir = $(shell if echo "$(libdir)" | grep '^UNSPECIFIED' >/dev/null; then echo $(TCL_PACKAGE_PATH); else echo "$(libdir)"; fi) PACKAGE_INSTALL_DIR = $(tcllibdir)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) |
| ︙ |
Deleted aclocal/dlsym.m4 version [9b676022d2].
Modified build/build-platform
from [af2d67d68b]
to [50ab5da7e8].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | + + + + + |
#! /bin/bash
platform="$1"
shift
if [ -z "${platform}" ]; then
echo "Platforms:"
echo " native"
fi
for dir in work/libtclkit-*/ __fail__; do
if [ "${platform}" = 'native' ]; then
break
fi
if [ "${dir}" == '__fail__' ]; then
if [ -z "${platform}" ]; then
exit 0
fi
echo "No such platform: ${platform}" >&2
|
| ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | + + + |
break
fi
fi
done
dir="$(pwd)/${dir}"
case "${platform}" in
native)
platform=''
;;
linux-i386)
platform="x86_64-redhat5-linux 32"
;;
linux-mipsel)
platform="mipsel-unknown-linux-uclibc"
;;
solaris-amd64)
|
| ︙ | |||
66 67 68 69 70 71 72 | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | + + - + - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + |
;;
esac
TCLKIT_SDK_DIR="${dir}"
export TCLKIT_SDK_DIR
make distclean
if [ "${platform}" != '' ]; then
|
Modified configure.ac
from [13d9b5f529]
to [b6d99aa0b3].
| ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | + + + |
if test "${TCC4TCL_TARGET}" = "shared"; then
dnl Determine how to make shared objects
DC_GET_SHOBJFLAGS
dnl Only export symbols we wish to expose
TARGET="tcc4tcl.${SHOBJEXT}"
else
TCC_EXTRA_CFLAGS="${TCC_EXTRA_CFLAGS} -DCONFIG_TCC_STATIC=1"
AC_CHECK_TOOL([RANLIB], [ranlib])
AC_CHECK_TOOL([AR], [ar])
TARGET="tcc4tcl-static.a"
fi
AC_SUBST(TARGET)
AC_SUBST(TCC4TCL_TARGET)
AC_SUBST(TCC_EXTRA_CFLAGS)
no_dlopen='0'
AC_ARG_WITH([dlopen], AS_HELP_STRING([--without-dlopen], [do not define dlopen/dlclose/dlerror]), [
if test "$withval" = "no"; then
no_dlopen='1'
else
no_dlopen='0'
|
| ︙ | |||
66 67 68 69 70 71 72 | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | - - - | ;; *) HOST_PATH_SEPARATOR=':' ;; esac AC_SUBST(HOST_PATH_SEPARATOR) |
Modified tcc4tcl.c
from [0dd7284c29]
to [24c78e2cb7].
| ︙ | |||
18 19 20 21 22 23 24 | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | - - - - - - - - - | * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <tcl.h> #include <stdlib.h> #include "tcc.h" |
| ︙ | |||
65 66 67 68 69 70 71 | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | - - + - |
struct TclTCCState *ts;
TCCState *s;
Tcl_Obj *sym_addr;
static CONST char *options[] = {
"add_include_path", "add_file", "add_library",
"add_library_path", "add_symbol", "command", "compile",
"define", "get_symbol", "output_file", "undefine",
|
| ︙ | |||
234 235 236 237 238 239 240 | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
case TCC4TCL_UNDEFINE:
if (objc != 3) {
Tcl_WrongNumArgs(interp, 2, objv, "symbol");
return TCL_ERROR;
}
tcc_undefine_symbol(s,Tcl_GetString(objv[2]));
return TCL_OK;
|
| ︙ |
Modified tcc4tcl.tcl
from [47dd5cbf47]
to [7f2fbfc8a7].
| ︙ | |||
352 353 354 355 356 357 358 | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | - + - + | append code $body append code "\nreturn TCL_OK;\n\}" return $code } #--------------------------------------------------------------------- |
| ︙ | |||
405 406 407 408 409 410 411 | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | - + |
uplevel 1 [list tcc4tcl::ccommand $name {dummy ip objc objv} $cbody]
return $name
}
#-------------------------------------------------------------------
|
| ︙ | |||
461 462 463 464 465 466 467 | 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | - - - - - - - - |
set tcc(code) ""
append code "int $cname (ClientData $v(clientdata),Tcl_Interp *$v(interp),"
append code "int $v(objc),Tcl_Obj *CONST $v(objv)\[\]) {" "\n"
append code $body "\n"
append code "}" "\n"
|
| ︙ |
Modified test
from [e2e01fc434]
to [7d8a169a15].
| ︙ | |||
24 25 26 27 28 29 30 | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | - + |
rv = mkdir(dir);
if (rv == 0) {
return(TCL_OK);
};
return(TCL_ERROR);
|
| ︙ |