diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-04-09 09:41:39 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-04-09 09:41:39 (GMT) |
commit | 5d931b46f49af1ef0dc9beacedf5477ad2e2c4e9 (patch) | |
tree | 8685730d2407258f1823b3bd35f471b4a1aa071b /win | |
parent | 20a642c3fa98766f540627da3b16a42b3172c6de (diff) | |
parent | 2febd25bb81117c283f304965185b91bb8372a38 (diff) | |
download | tk-5d931b46f49af1ef0dc9beacedf5477ad2e2c4e9.zip tk-5d931b46f49af1ef0dc9beacedf5477ad2e2c4e9.tar.gz tk-5d931b46f49af1ef0dc9beacedf5477ad2e2c4e9.tar.bz2 |
TIP #595: Unicode-aware/case-sensitive Loadable Library handling
Diffstat (limited to 'win')
-rw-r--r-- | win/Makefile.in | 14 | ||||
-rwxr-xr-x | win/configure | 17 | ||||
-rw-r--r-- | win/configure.ac | 17 | ||||
-rw-r--r-- | win/makefile.vc | 12 |
4 files changed, 54 insertions, 6 deletions
diff --git a/win/Makefile.in b/win/Makefile.in index 76b2958..0ff2dcd 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -136,6 +136,8 @@ TK_VFS_ROOT = libtk.vfs TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@ TK_LIB_FILE = @TK_LIB_FILE@ TK_DLL_FILE = @TK_DLL_FILE@ +TK_DLL_FILE_TCL8 = @TK_DLL_FILE_TCL8@ +TK_DLL_FILE_TCL9 = @TK_DLL_FILE_TCL9@ TEST_DLL_FILE = tktest$(VER)${DLLSUFFIX} TEST_LIB_FILE = @LIBPREFIX@tktest$(VER)${DLLSUFFIX}${LIBSUFFIX} @@ -534,9 +536,17 @@ install-binaries: binaries echo "if {![package vsatisfies [package provide Tcl] 8.6-]} return";\ echo "if {(\$$::tcl_platform(platform) eq \"unix\") && ([info exists ::env(DISPLAY)]";\ echo " || ([info exists ::argv] && (\"-display\" in \$$::argv)))} {";\ - echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin libtk$(VERSION).dll]]]";\ + echo " if {[package vsatisfies [package provide Tcl] 9.0]} {";\ + echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin libtcl9tk$(VERSION).dll]]]";\ + echo " } else {";\ + echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin libtk$(VERSION).dll]]]";\ + echo " }";\ echo "} else {";\ - echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin $(TK_DLL_FILE)]]]";\ + echo " if {[package vsatisfies [package provide Tcl] 9.0]} {";\ + echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin $(TK_DLL_FILE_TCL9)]]]";\ + echo " } else {";\ + echo " package ifneeded tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin $(TK_DLL_FILE_TCL8)]]]";\ + echo " }";\ echo "}";\ echo "package ifneeded Tk $(VERSION)$(PATCH_LEVEL) [list package require -exact tk $(VERSION)$(PATCH_LEVEL)]";\ ) > $(PKG_INDEX); diff --git a/win/configure b/win/configure index dc846fa..8ba1927 100755 --- a/win/configure +++ b/win/configure @@ -5805,18 +5805,33 @@ TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" eval "TK_SRC_DIR=\"`cd $srcdir/..; pwd`\"" +eval "TK_DLL_FILE_TCL8=tk$VER${DLLSUFFIX}" +eval "TK_DLL_FILE_TCL9=tcl9tk$VER${DLLSUFFIX}" +if test ${TCL_MAJOR_VERSION} = 8 ; then eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" if test ${SHARED_BUILD} = 0 -o "$GCC" != "yes" ; then eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${LIBSUFFIX}" else eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${DLLSUFFIX}.a" fi +else +eval "TK_DLL_FILE=tcl9tk$VER${DLLSUFFIX}" +if test ${SHARED_BUILD} = 0 -o "$GCC" != "yes" ; then + eval "TK_LIB_FILE=${LIBPREFIX}tcl9tk${VER}${LIBSUFFIX}" +else + eval "TK_LIB_FILE=${LIBPREFIX}tcl9tk${VER}${DLLSUFFIX}.a" +fi +fi eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" # FIXME: All of this var junk needs to be done in tcl.m4 !!!! # I left out the other vars that also need to get defined here. # we also need to double check about spaces in path names -eval "TK_LIB_FLAG=\"-ltk${VER}${LIBFLAGSUFFIX}\"" +TK_LIB_FLAG="-l" +if test "${TCL_MAJOR_VERSION}" -gt 8 ; then + TK_LIB_FLAG="${TK_LIB_FLAG}tcl9" +fi +eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}${VER}${LIBFLAGSUFFIX}\"" TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}" TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}" diff --git a/win/configure.ac b/win/configure.ac index 0b62869..d7f89e6 100644 --- a/win/configure.ac +++ b/win/configure.ac @@ -240,18 +240,33 @@ TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" eval "TK_SRC_DIR=\"`cd $srcdir/..; pwd`\"" +eval "TK_DLL_FILE_TCL8=tk$VER${DLLSUFFIX}" +eval "TK_DLL_FILE_TCL9=tcl9tk$VER${DLLSUFFIX}" +if test ${TCL_MAJOR_VERSION} = 8 ; then eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" if test ${SHARED_BUILD} = 0 -o "$GCC" != "yes" ; then eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${LIBSUFFIX}" else eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${DLLSUFFIX}.a" fi +else +eval "TK_DLL_FILE=tcl9tk$VER${DLLSUFFIX}" +if test ${SHARED_BUILD} = 0 -o "$GCC" != "yes" ; then + eval "TK_LIB_FILE=${LIBPREFIX}tcl9tk${VER}${LIBSUFFIX}" +else + eval "TK_LIB_FILE=${LIBPREFIX}tcl9tk${VER}${DLLSUFFIX}.a" +fi +fi eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" # FIXME: All of this var junk needs to be done in tcl.m4 !!!! # I left out the other vars that also need to get defined here. # we also need to double check about spaces in path names -eval "TK_LIB_FLAG=\"-ltk${VER}${LIBFLAGSUFFIX}\"" +TK_LIB_FLAG="-l" +if test "${TCL_MAJOR_VERSION}" -gt 8 ; then + TK_LIB_FLAG="${TK_LIB_FLAG}tcl9" +fi +eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}${VER}${LIBFLAGSUFFIX}\"" TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}" TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}" diff --git a/win/makefile.vc b/win/makefile.vc index 912f781..0c139b4 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -735,9 +735,17 @@ install-binaries: if {![package vsatisfies [package provide Tcl] 8.6-]} return
if {($$::tcl_platform(platform) eq "unix") && ([info exists ::env(DISPLAY)]
|| ([info exists ::argv] && ("-display" in $$::argv)))} {
- package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin libtk$(DOTVERSION).dll]]]
+ if {![package vsatisfies [package provide Tcl] 9.0]} {
+ package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin libtcl9tk$(DOTVERSION).dll]]]
+ } else {
+ package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin libtk$(DOTVERSION).dll]]]
+ }
} else {
- package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin $(TKLIBNAME)]]]
+ if {![package vsatisfies [package provide Tcl] 9.0]} {
+ package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin $(TKLIBNAME9)]]]
+ } else {
+ package ifneeded tk $(TK_PATCH_LEVEL) [list load [file normalize [file join $$dir .. .. bin $(TKLIBNAME8)]]]
+ }
}
package ifneeded Tk $(TK_PATCH_LEVEL) [list package require -exact tk $(TK_PATCH_LEVEL)]
<<
|