Menu

#247 itcl configure overrides Tcl configure options

4.0*
open
None
5
2013-11-09
2013-10-08
Ray Labor
No

I'm trying to build Tcl 8.6.1 along with the contained itcl 4.0.0 as static libraries. Adding the configure option --disable-shared worked for Tcl. However, for itcl, the invoked configure command has the option --enable-shared added AFTER the --disable-shared from my Tcl setup, thus overriding my attempt at doing a static build. The Tcl and itcl builds and tests run to completion without errors, but I end up with Tcl static libraries and itcl shared libraries.

I assume I can build itcl as a static library, since I saw nothing in the READMEs to indicate otherwise. If there is some reason that the itcl configure requires the --enable-shared and --enable-threads options, then this should be noted.

I have attached the Tcl and itcl config.log files for reference. Oops, seems I can only attach one file, so I picked the itcl one since it shows the results of the problem. For completeness, here is the configure command line from the Tcl config.log file:

It was created by tcl configure 8.6, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ ./configure --disable-shared

1 Attachments

Discussion

  • Ray Labor

    Ray Labor - 2013-10-08

    Hmm, I just looked at the other packages in Tcl for DBs and thread. They all seem to have the same issue, where their configure command has the --enable-shared and --enable-threads options added. So again, they all build as shared libraries when I asked for static ones.

     
  • Ray Labor

    Ray Labor - 2013-10-08

    Did some more digging and it appears the problem originates in the Tcl Makefile.in file with the following macro:

    configure-packages:
    @for i in $(PKGS_DIR)/*; do \
    if [ -d $$i ]; then \
    if [ -x $$i/configure ]; then \
    pkg=basename $$i; \
    echo "Configuring package '$$pkg'"; \
    mkdir -p $(PKG_DIR)/$$pkg; \
    if [ ! -f $(PKG_DIR)/$$pkg/Makefile ]; then \
    ( cd $(PKG_DIR)/$$pkg; \
    $$i/configure --with-tcl=../.. \
    --with-tclinclude=$(GENERIC_DIR) \
    $(PKG_CFG_ARGS) --libdir=$(PACKAGE_DIR) \
    --enable-shared --enable-threads; ) || exit $$?; \
    fi; \
    fi; \
    fi; \
    done

    The --enable-shared and --enable-threads options are hard-coded on any pkgs configure command. This also occurs in the "win" directory for Windows builds.

    So should this bug be filed against Tcl instead? If yes, can it be transferred or do I need to resubmit it?

     
  • Arnulf Wiedemann

    • assigned_to: Arnulf Wiedemann
     

Log in to post a comment.