From 026014ff39f47fde838e65ef7d96548809099230 Mon Sep 17 00:00:00 2001 From: William Joye Date: Tue, 7 Feb 2017 16:48:19 -0500 Subject: add iis support to win port --- ds9/win/Makefile.in | 3 +- ds9/win/configure | 274 +++++++++++++++++++++++++++++++++++++++++++++++++++ ds9/win/configure.ac | 3 + ds9/win/ds9.C | 10 +- 4 files changed, 283 insertions(+), 7 deletions(-) diff --git a/ds9/win/Makefile.in b/ds9/win/Makefile.in index 93c6986..c310de5 100755 --- a/ds9/win/Makefile.in +++ b/ds9/win/Makefile.in @@ -30,6 +30,7 @@ tkimgpng_LIB_SPEC= @tkimgpng_LIB_SPEC@ tkimgtiff_LIB_SPEC= @tkimgtiff_LIB_SPEC@ tkimgwindow_LIB_SPEC= @tkimgwindow_LIB_SPEC@ +tcliis_LIB_SPEC = @tcliis_LIB_SPEC@ tclxml_LIB_SPEC = @tclxml_LIB_SPEC@ tkblt_LIB_SPEC = @tkblt_LIB_SPEC@ @@ -79,9 +80,7 @@ SPECS = \ $(pngtcl_LIB_SPEC) \ $(tifftcl_LIB_SPEC) \ $(zlibtcl_LIB_SPEC) \ - $(tclcheckdns_LIB_SPEC) \ $(tcliis_LIB_SPEC) \ - $(tclsignal_LIB_SPEC) \ $(tclxml_LIB_SPEC) \ $(tclzvfs_LIB_SPEC) \ $(tkblt_LIB_SPEC) \ diff --git a/ds9/win/configure b/ds9/win/configure index a71d871..a078ba2 100755 --- a/ds9/win/configure +++ b/ds9/win/configure @@ -771,6 +771,14 @@ tclxml_LIB_FILE tclxml_SRC_DIR tclxml_BIN_DIR tclxml_VERSION +tcliis_STUB_LIB_PATH +tcliis_STUB_LIB_SPEC +tcliis_STUB_LIB_FILE +tcliis_LIB_SPEC +tcliis_LIB_FILE +tcliis_SRC_DIR +tcliis_BIN_DIR +tcliis_VERSION zlibtcl_STUB_LIB_PATH zlibtcl_STUB_LIB_SPEC zlibtcl_STUB_LIB_FILE @@ -896,6 +904,7 @@ with_tifftcl with_pngtcl with_jpegtcl with_zlibtcl +with_tcliis with_tclxml with_tkblt with_tkhtml1 @@ -1558,6 +1567,7 @@ Optional Packages: --with-pngtcl directory containing pngtcl configuration (pngtclConfig.sh) --with-jpegtcl directory containing jpegtcl configuration (jpegtclConfig.sh) --with-zlibtcl directory containing zlibtcl configuration (zlibtclConfig.sh) + --with-tcliis directory containing tcliis configuration (tcliisConfig.sh) --with-tclxml directory containing tclxml configuration (tclxmlConfig.sh) --with-tkblt directory containing tkblt configuration (tkbltConfig.sh) --with-tkhtml1 directory containing tkhtml1 configuration (tkhtml1Config.sh) @@ -4956,6 +4966,270 @@ fi # + # Ok, lets find the tcliis configuration + # First, look for one uninstalled. + # the alternative search directory is invoked by --with-tcliis + # + + if test x"${no_tcliis}" = x ; then + # we reset no_tcliis in case something fails here + no_tcliis=true + +# Check whether --with-tcliis was given. +if test "${with_tcliis+set}" = set; then : + withval=$with_tcliis; with_tcliisconfig=${withval} +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcliis configuration" >&5 +$as_echo_n "checking for tcliis configuration... " >&6; } + if ${ac_cv_c_tcliisconfig+:} false; then : + $as_echo_n "(cached) " >&6 +else + + + # First check to see if --with-tcliis was specified. + if test x"${with_tcliisconfig}" != x ; then + case ${with_tcliisconfig} in + */tcliisConfig.sh ) + if test -f ${with_tcliisconfig}; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-tcliis argument should refer to directory containing tcliisConfig.sh, not to tcliisConfig.sh itself" >&5 +$as_echo "$as_me: WARNING: --with-tcliis argument should refer to directory containing tcliisConfig.sh, not to tcliisConfig.sh itself" >&2;} + with_tcliisconfig=`echo ${with_tcliisconfig} | sed 's!/tcliisConfig\.sh$!!'` + fi;; + esac + if test -f "${with_tcliisconfig}/tcliisConfig.sh" ; then + ac_cv_c_tcliisconfig=`(cd ${with_tcliisconfig}; pwd)` + else + as_fn_error $? "${with_tcliisconfig} directory doesn't contain tcliisConfig.sh" "$LINENO" 5 + fi + fi + + # then check for a private tcliis installation + if test x"${ac_cv_c_tcliisconfig}" = x ; then + for i in \ + ../tcliis \ + `ls -dr ../tcliis*[0-9].[0-9]*.[0-9]* 2>/dev/null` \ + `ls -dr ../tcliis*[0-9].[0-9][0-9] 2>/dev/null` \ + `ls -dr ../tcliis*[0-9].[0-9] 2>/dev/null` \ + `ls -dr ../tcliis*[0-9].[0-9]* 2>/dev/null` \ + ../../tcliis \ + `ls -dr ../../tcliis*[0-9].[0-9]*.[0-9]* 2>/dev/null` \ + `ls -dr ../../tcliis*[0-9].[0-9][0-9] 2>/dev/null` \ + `ls -dr ../../tcliis*[0-9].[0-9] 2>/dev/null` \ + `ls -dr ../../tcliis*[0-9].[0-9]* 2>/dev/null` \ + ../../../tcliis \ + `ls -dr ../../../tcliis*[0-9].[0-9]*.[0-9]* 2>/dev/null` \ + `ls -dr ../../../tcliis*[0-9].[0-9][0-9] 2>/dev/null` \ + `ls -dr ../../../tcliis*[0-9].[0-9] 2>/dev/null` \ + `ls -dr ../../../tcliis*[0-9].[0-9]* 2>/dev/null` \ + ${srcdir}/../tcliis \ + `ls -dr ${srcdir}/../tcliis*[0-9].[0-9]*.[0-9]* 2>/dev/null` \ + `ls -dr ${srcdir}/../tcliis*[0-9].[0-9][0-9] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcliis*[0-9].[0-9] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcliis*[0-9].[0-9]* 2>/dev/null` \ + ; do + if test -f "$i/tcliisConfig.sh" ; then + ac_cv_c_tcliisconfig=`(cd $i; pwd)` + break + fi + if test -f "$i/unix/tcliisConfig.sh" ; then + ac_cv_c_tcliisconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + + # check in a few common install locations + if test x"${ac_cv_c_tcliisconfig}" = x ; then + for i in `ls -d ${libdir} 2>/dev/null` \ + `ls -d ${exec_prefix}/lib 2>/dev/null` \ + `ls -d ${prefix}/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + `ls -d /usr/lib64 2>/dev/null` \ + ; do + if test -f "$i/tcliisConfig.sh" ; then + ac_cv_c_tcliisconfig=`(cd $i; pwd)` + break + fi + done + fi + +fi + + + if test x"${ac_cv_c_tcliisconfig}" = x ; then + tcliis_BIN_DIR="# no tcliis configs found" + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find tcliis configuration definitions" >&5 +$as_echo "$as_me: WARNING: Cannot find tcliis configuration definitions" >&2;} + exit 0 + else + no_tcliis= + tcliis_BIN_DIR=${ac_cv_c_tcliisconfig} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $tcliis_BIN_DIR/tcliisConfig.sh" >&5 +$as_echo "found $tcliis_BIN_DIR/tcliisConfig.sh" >&6; } + fi + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for existence of ${tcliis_BIN_DIR}/tcliisConfig.sh" >&5 +$as_echo_n "checking for existence of ${tcliis_BIN_DIR}/tcliisConfig.sh... " >&6; } + + if test -f "${tcliis_BIN_DIR}/tcliisConfig.sh" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: loading" >&5 +$as_echo "loading" >&6; } + . "${tcliis_BIN_DIR}/tcliisConfig.sh" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: file not found" >&5 +$as_echo "file not found" >&6; } + fi + + # + # If the tcliis_BIN_DIR is the build directory (not the install directory), + # then set the common variable name to the value of the build variables. + # For example, the variable tcliis_LIB_SPEC will be set to the value + # of tcliis_BUILD_LIB_SPEC. An extension should make use of tcliis_LIB_SPEC + # instead of tcliis_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. + # + + if test -f "${tcliis_BIN_DIR}/Makefile" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Found Makefile - using build library specs for tcliis" >&5 +$as_echo "$as_me: WARNING: Found Makefile - using build library specs for tcliis" >&2;} + tcliis_LIB_SPEC=${tcliis_BUILD_LIB_SPEC} + tcliis_STUB_LIB_SPEC=${tcliis_BUILD_STUB_LIB_SPEC} + tcliis_STUB_LIB_PATH=${tcliis_BUILD_STUB_LIB_PATH} + tcliis_INCLUDE_SPEC=${tcliis_BUILD_INCLUDE_SPEC} + tcliis_LIBRARY_PATH=${tcliis_LIBRARY_PATH} + fi + + + + + + + + + + + + + # Allow the caller to prevent this auto-check by specifying any 2nd arg + if test "x" = x; then : + + # Check both upper and lower-case variants + # If a dev wanted non-stubs libs, this function could take an option + # to not use _STUB in the paths below + if test "x${tcliis_STUB_LIB_SPEC}" = x; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking For TCLIIS_STUB library for LIBS" >&5 +$as_echo_n "checking For TCLIIS_STUB library for LIBS... " >&6; } + # This simplifies the use of stub libraries by automatically adding + # the stub lib to your path. Normally this would add to SHLIB_LD_LIBS, + # but this is called before CONFIG_CFLAGS. More importantly, this adds + # to PKG_LIBS, which becomes LIBS, and that is only used by SHLIB_LD. + if test "x${TCLIIS_STUB_LIB_SPEC}" != "x" ; then + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes" ; then + + vars="\"`${CYGPATH} ${TCLIIS_STUB_LIB_PATH}`\"" + for i in $vars; do + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then + case $i in + *.lib) + # Convert foo.lib to -lfoo for GCC + i=-l`echo "$i" | sed -e 's/\.[^.]*$//' -e 's/\.lib.*//'` + ;; + esac + fi + PKG_LIBS="$PKG_LIBS $i" + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using TCLIIS_STUB_LIB_PATH ${TCLIIS_STUB_LIB_PATH}" >&5 +$as_echo "using TCLIIS_STUB_LIB_PATH ${TCLIIS_STUB_LIB_PATH}" >&6; } + else + + vars="${TCLIIS_STUB_LIB_SPEC}" + for i in $vars; do + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then + case $i in + *.lib) + # Convert foo.lib to -lfoo for GCC + i=-l`echo "$i" | sed -e 's/\.[^.]*$//' -e 's/\.lib.*//'` + ;; + esac + fi + PKG_LIBS="$PKG_LIBS $i" + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using TCLIIS_STUB_LIB_SPEC ${TCLIIS_STUB_LIB_SPEC}" >&5 +$as_echo "using TCLIIS_STUB_LIB_SPEC ${TCLIIS_STUB_LIB_SPEC}" >&6; } + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: file not found" >&5 +$as_echo "file not found" >&6; } + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking For tcliis_STUB library for LIBS" >&5 +$as_echo_n "checking For tcliis_STUB library for LIBS... " >&6; } + # This simplifies the use of stub libraries by automatically adding + # the stub lib to your path. Normally this would add to SHLIB_LD_LIBS, + # but this is called before CONFIG_CFLAGS. More importantly, this adds + # to PKG_LIBS, which becomes LIBS, and that is only used by SHLIB_LD. + if test "x${tcliis_STUB_LIB_SPEC}" != "x" ; then + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes" ; then + + vars="\"`${CYGPATH} ${tcliis_STUB_LIB_PATH}`\"" + for i in $vars; do + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then + case $i in + *.lib) + # Convert foo.lib to -lfoo for GCC + i=-l`echo "$i" | sed -e 's/\.[^.]*$//' -e 's/\.lib.*//'` + ;; + esac + fi + PKG_LIBS="$PKG_LIBS $i" + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using tcliis_STUB_LIB_PATH ${tcliis_STUB_LIB_PATH}" >&5 +$as_echo "using tcliis_STUB_LIB_PATH ${tcliis_STUB_LIB_PATH}" >&6; } + else + + vars="${tcliis_STUB_LIB_SPEC}" + for i in $vars; do + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then + case $i in + *.lib) + # Convert foo.lib to -lfoo for GCC + i=-l`echo "$i" | sed -e 's/\.[^.]*$//' -e 's/\.lib.*//'` + ;; + esac + fi + PKG_LIBS="$PKG_LIBS $i" + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using tcliis_STUB_LIB_SPEC ${tcliis_STUB_LIB_SPEC}" >&5 +$as_echo "using tcliis_STUB_LIB_SPEC ${tcliis_STUB_LIB_SPEC}" >&6; } + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: file not found" >&5 +$as_echo "file not found" >&6; } + fi + +fi + +fi + + + + # # Ok, lets find the tclxml configuration # First, look for one uninstalled. # the alternative search directory is invoked by --with-tclxml diff --git a/ds9/win/configure.ac b/ds9/win/configure.ac index d569e0b..ec00c61 100644 --- a/ds9/win/configure.ac +++ b/ds9/win/configure.ac @@ -61,6 +61,9 @@ TEA_LOAD_CONFIG(jpegtcl) TEA_PATH_CONFIG(zlibtcl) TEA_LOAD_CONFIG(zlibtcl) +TEA_PATH_CONFIG(tcliis) +TEA_LOAD_CONFIG(tcliis) + TEA_PATH_CONFIG(tclxml) TEA_LOAD_CONFIG(tclxml) diff --git a/ds9/win/ds9.C b/ds9/win/ds9.C index 6291ebf..c3c0333 100644 --- a/ds9/win/ds9.C +++ b/ds9/win/ds9.C @@ -39,7 +39,7 @@ extern "C" { int Tkimgwindow_Init(Tcl_Interp*); int Tclxpa_Init(Tcl_Interp*); - // int Tcliis_Init(Tcl_Interp*); + int Tcliis_Init(Tcl_Interp*); int Tclxml_Init(Tcl_Interp*); int Tclxml_libxml2_Init(Tcl_Interp*); @@ -157,10 +157,10 @@ int SAOAppInit(Tcl_Interp *interp) (Tcl_PackageInitProc*)NULL); // Tcliis - // if (Tcliis_Init(interp) == TCL_ERROR) - // return TCL_ERROR; - // Tcl_StaticPackage (interp, "tcliis", Tcliis_Init, - // (Tcl_PackageInitProc*)NULL); + if (Tcliis_Init(interp) == TCL_ERROR) + return TCL_ERROR; + Tcl_StaticPackage (interp, "tcliis", Tcliis_Init, + (Tcl_PackageInitProc*)NULL); // Tkmpeg if (Tkmpeg_Init(interp) == TCL_ERROR) -- cgit v0.12