From 4deef84e6a3c5ba71e3ec2d7429fc347edbbc098 Mon Sep 17 00:00:00 2001 From: lecoanet Date: Wed, 16 Apr 2003 10:30:25 +0000 Subject: Update for the new make tool chain --- Copyright | 5 - Makefile.in | 746 ++++++--- configure | 4447 ++++++++++++++++++++++++++++++++++++++---------------- configure.in | 325 ++-- debian/control | 6 +- debian/rules | 209 +-- tclconfig/tcl.m4 | 22 +- 7 files changed, 4045 insertions(+), 1715 deletions(-) diff --git a/Copyright b/Copyright index 659c010..df4bdb2 100644 --- a/Copyright +++ b/Copyright @@ -1,8 +1,3 @@ -This package was debianized by Patrick Lecoanet lecoanet@ath.cena.fr on -Wed, 25 Feb 1998 14:11:43 +0100. - -Copyright: - Copyright (c) 1993 - 2003 CENA, Patrick Lecoanet -- This code is free software; you can redistribute it and/or diff --git a/Makefile.in b/Makefile.in index 244d44d..eae6dd1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (c) 1993 - 2002 CENA, Patrick Lecoanet -- +# Copyright (c) 1993 - 2003 CENA, Patrick Lecoanet -- # # This code is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public @@ -16,266 +16,518 @@ # # $Revision$ # -VPATH = @srcdir@ -srcdir = @srcdir@ - -SHELL = /bin/sh - -CC = @CC@ -RANLIB = @RANLIB@ - -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL = @INSTALL@ - -PERLCONFIG = INSTALLDIRS=perl - -INSTALL_PERL = install_perl - -prefix = $(HOME) -exec_prefix = $(prefix) - -bindir = $(exec_prefix)/bin/$(ARCH) -libdir = $(exec_prefix)/lib/$(ARCH) -incdir = $(prefix)/include -mandir = $(prefix)/man/man3 -LDFLAGS = -L. @LDFLAGS@ @X_LIBS@ @LOCAL_X_LIBS@ -# Should be tested in configure. It doesn't work -# on some systems. -SHARED_LIB_CFLAGS = @sharedlib_cflags@ -SHARED_TK_LDFLAGS = @sharedlib_buildflags@ -# -# For memory debugging -#TCL_TK_DEBUG_SUFFIX=g -TCL_TK_DEBUG_SUFFIX= -TCL_TK_VER = 8.3$(TCL_TK_DEBUG_SUFFIX) -TK_INCLUDE_PATH=/usr/include/tcl$(TCL_TK_VER) -SHARED_TK_LIBS = @X_LIBS@ @LOCAL_X_LIBS@ @XMU@ -lXext -lX11 @X_EXTRA_LIBS@ -lm -ZINC_VER = @ZINC_VER@ -ZINC_MAJOR = @ZINC_MAJOR@ -CFLAGS = -Wall $(SHARED_LIB_CFLAGS) -CPPFLAGS = @DEFS@ @X_CFLAGS@ $(DFLAGS) -I$(srcdir) -DBUILD_LIBRARY -TKCFLAGS = -I$(TK_INCLUDE_PATH) -DUSE_TCL_STUBS -DUSE_TK_STUBS -# -# Linux -#PTKLIB = /usr/lib/perl5/i386-linux/5.004/Tk/pTk -#SITEPERL = /usr/local/lib/site_perl # -# Solaris -#PTKLIB = /usr/local/lib/perl5/site_perl/5.005/sun4-solaris/Tk/pTk -#SITEPERL = /usr/local/lib/perl5/site_perl +# This Makefile.in is derived from the Sample TEA template which is: # -# Auto -PTKLIB = @TKLIB@/pTk -PTKCFLAGS = -DPTK -I$(PTKLIB) +# Copyright (c) 1999 Scriptics Corporation. +# Copyright (c) 2002 ActiveState SRL. # -# Define this to use OpenGL -# -GLX=-lGL -lpthread -#GLX= - -# -# Recognized compilation time flags are : -# -# PROFILE ask for profile support -# OM include code for internal overlap manager -# GLX include code that need GL support. -# GLX_PRINT_CONFIG display the detected hardware capabilities -# GLX_DAMAGE redraw only modified areas -# SHAPE include code for reshaping windows. -DFLAGS= -DOM -DSHAPE -DGLX -DGLX_DAMAGE -DGLX_PRINT_CONFIG -#DFLAGS= -DOM -DSHAPE -#DFLAGS = -DTCL_MEM_DEBUG +#======================================================================== +# Enumerate the names of the source files included in this package. +# EXTRA_SOURCES will be replaced by WIN_SOURCES or UNIX_SOURCES, as is +# appropriate for your platform. It is not important to specify the +# directory, as long as it is the $(srcdir) or in the generic, win or +# unix subdirectory. +#======================================================================== + +tess_SOURCES = +Tkzinc_SOURCES = Track.c Tabular.c Reticle.c Map.c Rectangle.c Arc.c Curve.c \ + Item.c PostScript.c MapInfo.c Attrs.c Draw.c Geo.c List.c \ + perfos.c Transfo.c Group.c Icon.c Text.c Image.c Color.c \ + Field.c Triangles.c Window.c tkZinc.c @EXTRA_SOURCES@ +Om_SOURCES = OverlapMan.c +Tess_SOURCES = dict.c geom.c memalloc.c mesh.c normal.c priorityq.c \ + render.c sweep.c tess.c tessmono.c + +WIN_SOURCES = WinPort.c +UNIX_SOURCES = + +#======================================================================== +# Identify the object files. This replaces .c with .$(OBJEXT) for all +# the named source files. These objects are created and linked into the +# final library. +# Normally we would use $(OBJEXT), but certain make executables won't do +# the extra macro in a macro conversion properly. # -# This set for cc under HP-UX +# "Tkzinc_LIB_FILE" refers to the library (dynamic or static as per +# configuration options) composed of the named objects. +# "Om_LIB_FILE" refers to the optional pluggable overlap manager. +#======================================================================== + +Tkzinc_OBJECTS = $(Tkzinc_SOURCES:.c=.@OBJEXT@) +Om_OBJECTS = $(Om_SOURCES:.c=.@OBJEXT@) +Tess_OBJECTS = $(Tess_SOURCES:.c=.@OBJEXT@) +Tkzinc_LIB_FILE = @Tkzinc_LIB_FILE@ +Om_LIB_FILE = @Om_LIB_FILE@ +Tess_LIB_FILE = @Tess_LIB_FILE@ + +#======================================================================== +# RUNTIME_SOURCES identifies Tcl runtime files that are associated with +# this package that need to be installed, if any. +#======================================================================== + +RUNTIME_SOURCES = zincLogo.tcl zincText.tcl + +#======================================================================== +# This is a list of header files to be installed +#======================================================================== + +GENERIC_HDRS = + +#======================================================================== +# Nothing of the variables below this line need to be changed. +#======================================================================== + +lib_BINARIES = $($(PACKAGE)_LIB_FILE) +aux_BINARIES = $(Om_LIB_FILE) +bin_BINARIES = +BINARIES = $(Tess_LIB_FILE) $(Om_LIB_FILE) $(lib_BINARIES) + +SHELL = @SHELL@ + +srcdir = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +libdir = @libdir@ +datadir = @datadir@ +mandir = @mandir@ +includedir = @includedir@ + +DESTDIR = + +PKG_DIR = $(PACKAGE)$(VERSION) +pkgdatadir = $(datadir)/$(PKG_DIR) +pkglibdir = $(libdir)/$(PKG_DIR) +pkgincludedir = $(includedir)/$(PKG_DIR) + +top_builddir = . + +tess_dir = $(srcdir)/libtess +generic_dir = $(srcdir)/generic +unix_dir = $(srcdir)/unix +windows_dir = $(srcdir)/win + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +CC = @CC@ +CFLAGS_DEBUG = @CFLAGS_DEBUG@ +CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ +CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ +CFLAGS_WARNING = @CFLAGS_WARNING@ +CLEANFILES = @CLEANFILES@ +EXEEXT = @EXEEXT@ +LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ +LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ +LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ +MAKE_LIB = @MAKE_LIB@ +MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ +MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ +OBJEXT = @OBJEXT@ +RANLIB = @RANLIB@ +SHLIB_CFLAGS = @SHLIB_CFLAGS@ +SHLIB_LD = @SHLIB_LD@ +SHLIB_LDFLAGS = @SHLIB_LDFLAGS@ +SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ +STLIB_LD = @STLIB_LD@ +TCL_DEFS = @TCL_DEFS@ +TCL_BIN_DIR = @TCL_BIN_DIR@ +TCL_SRC_DIR = @TCL_SRC_DIR@ +TK_BIN_DIR = @TK_BIN_DIR@ +TK_SRC_DIR = @TK_SRC_DIR@ # -# -#------- Nothing to be modified by users below this line (hopefully ;-) ) ---------------- -# -cfiles = Track.c Tabular.c Reticle.c Map.c Rectangle.c Arc.c Curve.c \ - Item.c PostScript.c MapInfo.c Attrs.c Draw.c Geo.c List.c \ - perfos.c version.c Transfo.c Group.c Icon.c Text.c Image.c Color.c \ - Field.c Triangles.c Window.c -tkcfiles = tkZinc.c -omcfiles = OverlapMan.c -hfiles = MapInfo.h List.h perfos.h patchlvl.h Types.h Transfo.h \ - Attrs.h Item.h Field.h PostScript.h Draw.h Image.h Geo.h \ - OverlapMan.h WidgetInfo.h Track.h Group.h -dfiles = Copyright -projfiles = ChangeLog mkinstalldirs -confiles = configure configure.in acaux.m4 config.h.in Makefile.in install-sh -afiles = $(cfiles) $(tkcfiles) $(hfiles) $(tfiles) $(dfiles) $(projfiles) $(confiles) -rtlfiles = $(hfiles) $(tkhfiles) $(tfiles) $(dfiles) $(confiles) $(bins) $(tklibs) - -tkobjs = $(cfiles:%.c=tk/%.o) $(tkcfiles:%.c=tk/%.o) -tkgobjs = $(cfiles:%.c=tk/%.g) $(tkcfiles:%.c=tk/%.g) -tkpgobjs = $(cfiles:%.c=tk/%.pg) $(tkcfiles:%.c=tk/%.pg) -ptkobjs = $(cfiles:%.c=ptk/%.o) $(tkcfiles:%.c=ptk/%.o) -ptkgobjs = $(cfiles:%.c=ptk/%.g) $(tkcfiles:%.c=ptk/%.g) -omobjs = $(omcfiles:%.c=om/%.o) -omgobjs = $(omcfiles:%.c=om/%.g) - -tklibs = tkzinc$(ZINC_VER).$(ZINC_MAJOR).so -ptklibs = libptkzinc$(ZINC_VER).$(ZINC_MAJOR).so - -fontbins = $(fonts:.bdf=.pcf) - -.SUFFIXES: .g .bdf .pcf - -tk/%.o: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(TKCFLAGS) -O -c $< -o $@ -tk/%.g: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(TKCFLAGS) -g -c $< -o $@ -tk/%.pg: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) -pg -c $< -o $@ - -ptk/%.o: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(PTKCFLAGS) -O -c $< -o $@ -ptk/%.g: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(PTKCFLAGS) -g -c $< -o $@ - -om/%.o: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) -O -c $< -o $@ -om/%.g: %.c - $(CC) $(CFLAGS) $(CPPFLAGS) -g -c $< -o $@ - -.bdf.pcf: - bdftopcf $*.bdf >$*.pcf - -ptkzinc: libptkzinc$(ZINC_VER).$(ZINC_MAJOR).so Perl/Makefile_nodebug - (cd Perl; make "LD_RUN_PATH=@X_LIBS@ -L/usr/lib") -ptkzinc_debug: libptkzinc_debug$(ZINC_VER).$(ZINC_MAJOR).so Perl/Makefile_debug - (cd Perl; make "LD_RUN_PATH=@X_LIBS@ -L/usr/lib") -testptk: ptkzinc - (cd Perl; make test "FULLPERL=PERL_DL_NONLAZY=0 perl") -Perl/Makefile_nodebug: - (cd Perl; perl Makefile.PL ptkzinc$(ZINC_VER).$(ZINC_MAJOR) $(PERLCONFIG)) - (cd Perl/debug; perl Makefile.PL $(PERLCONFIG)) -Perl/Makefile_debug: - (cd Perl; perl Makefile.PL ptkzinc_debug$(ZINC_VER).$(ZINC_MAJOR) $(PERLCONFIG)) - (cd Perl/debug; perl Makefile.PL $(PERLCONFIG)) - -libptkzinc$(ZINC_VER).$(ZINC_MAJOR).so: libtess/libtess.a ptk $(ptkobjs) libom.so - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(ptkobjs) $(SHARED_TK_LIBS) -L. -lom libtess/libtess.a $(GLX) -libptkzinc_debug$(ZINC_VER).$(ZINC_MAJOR).so: libtess/libtess.a ptk $(ptkgobjs) libom_debug.so - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(ptkgobjs) $(SHARED_TK_LIBS) -L. -lom_debug libtess/libtess.a $(GLX) - -tkzinc: libtess/libtess.a libtess/libtess.a tkzinc$(ZINC_VER).$(ZINC_MAJOR).so -tkzinc$(ZINC_VER).$(ZINC_MAJOR).so: tk $(tkobjs) libom.so - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(SHARED_TK_LIBS) -L. -ltk$(TCL_TK_VER) -ltcl$(TCL_TK_VER) -lom $(tkobjs) libtess/libtess.a $(GLX) -tkzinc_debug: libtess/libtess.a tkzinc_debug$(ZINC_VER).$(ZINC_MAJOR).so -tkzinc_debug$(ZINC_VER).$(ZINC_MAJOR).so: tk $(tkgobjs) libom_debug.so libtess/libtess.a - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(SHARED_TK_LIBS) -L. -ltk$(TCL_TK_VER) -ltcl$(TCL_TK_VER) -lom_debug $(tkgobjs) libtess/libtess.a $(GLX) -tkzinc_profile: tkzinc_profile.a libom.so - $(CC) -pg -o zincwish $(SHARED_TK_LIBS) -L. -ltk$(TCL_TK_VER) -ltcl$(TCL_TK_VER) -lom tkAppInit.c tkzinc_profile.a -o zincwish -tkzinc_profile.a: tk $(tkpgobjs) libom_debug.so - ar rv $@ $(tkpgobjs) - -libtess/libtess.a: - (cd libtess; xmkmf; make) -libom.so: om $(omobjs) - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(omobjs) -lm -libom_debug.so: om $(omgobjs) - $(CC) $(SHARED_TK_LDFLAGS) -o $@ $(omgobjs) -lm - -python: Python/Zinc.py - -Python/Zinc.py: Python/Zinc.py.in - cd Python;rm -f Zinc.py; sed -e "s/ZINC_VER/$(ZINC_VER)/g" -e "s/ZINC_MAJOR/$(ZINC_MAJOR)/g" Zinc.py.in > Zinc.py - -tk: - -mkdir tk - -ptk: - -mkdir ptk - -om: - -mkdir om - -doc: doc/refman.pdf doc/refman.html - -doc/refman.html: - (cd doc; latex2html -split 4 -show_section_numbers -local_icons refman.tex; cp -f *.png refman/) - -doc/refman.pdf: doc/refman.tex +# This is necessary for packages that use private Tcl headers +TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ +TK_TOP_DIR_NATIVE = @TK_TOP_DIR_NATIVE@ +# Not used, but retained for reference of what libs Tcl required +TCL_LIBS = @TCL_LIBS@ + +#======================================================================== +# TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our +# package without installing. The other environment variables allow us +# to test against an uninstalled Tcl. Add special env vars that you +# require for testing here (like TCLX_LIBRARY). +#======================================================================== + +EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) +TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ + LD_LIBRARY_PATH="$(EXTRA_PATH):$(LD_LIBRARY_PATH)" \ + LIBPATH="$(EXTRA_PATH):${LIBPATH}" \ + SHLIB_PATH="$(EXTRA_PATH):${SHLIB_PATH}" \ + PATH="$(EXTRA_PATH):$(PATH)" \ + TCLLIBPATH="$(top_builddir)" +TCLSH_PROG = @TCLSH_PROG@ +WISH_PROG = @WISH_PROG@ +TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) +WISH = $(TCLSH_ENV) $(WISH_PROG) +SHARED_BUILD = @SHARED_BUILD@ + +# The local includes must come first, because the TK_XINCLUDES can be +# just a comment +INCLUDES = -I$(srcdir) -I$(srcdir)/libtess -I$(srcdir)/generic \ + @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@ + +EXTRA_CFLAGS = $(MEM_DEBUG_FLAGS) @EXTRA_CFLAGS@ + +DEFS = $(TCL_DEFS) @DEFS@ $(EXTRA_CFLAGS) + +CONFIG_CLEAN_FILES = Makefile + +CPPFLAGS = @CPPFLAGS@ +LIBS = @LIBS@ +AR = ar +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + +#======================================================================== +# Start of user-definable TARGETS section +#======================================================================== + +#======================================================================== +# TEA TARGETS. Please note that the "libraries:" target refers to platform +# independent files, and the "binaries:" target inclues executable programs and +# platform-dependent libraries. Modify these targets so that they install +# the various pieces of your package. The make and install rules +# for the BINARIES that you specified above have already been done. +#======================================================================== + +all: binaries libraries doc + +#======================================================================== +# The binaries target builds executable programs, Windows .dll's, unix +# shared/static libraries, and any other platform-dependent files. +# The list of targets to build for "binaries:" is specified at the top +# of the Makefile, in the "BINARIES" variable. +#======================================================================== + +binaries: $(BINARIES) pkgIndex.tcl + +libraries: + +#======================================================================== +# The doc target is for building man pages. Currently the zinc doc is +# only available in html and pdf formats. These formats require tools +# (LaTeX, pdfTeX, LaTeX2html) that are not readily available on all +# platforms. To ease automatic construction of the package the target +# doc does not involve the construction of pdf and html. +#======================================================================== + +doc: + +pdf: doc/refman.tex (cd doc; \ rm -f refman.aux refman.ilg refman.ind refman.out; \ rm -f refman.idx refman.lof refman.log refman.lot refman.toc; \ pdflatex refman.tex; \ - makeindex refman.idx; pdflatex refman.tex; \ + makeindex refman.idx; \ + pdflatex refman.tex; \ thumbpdf refman.pdf;) -install: installtk installptk installom - -installom: libom.so - $(INSTALL_DATA) libom.so $(libdir) - -installtk: installdirs $(tklibs) - $(INSTALL_DATA) $(tklibs) $(libdir) - cd $(libdir) && rm -f libtkzinc.so - for f in $(hfiles); do $(INSTALL_DATA) $$f $(incdir); done +html: doc/refman.tex + (cd doc; \ + rm -f refman.ilg refman.ind refman.out; \ + rm -f refman.idx refman.lof refman.log refman.lot refman.toc; \ + mkdir -p refman; cp -f *.png refman; \ + latex2html -split 4 -show_section_numbers -local_icons refman.tex) + +install: all install-binaries install-libraries install-demos install-doc + +install-binaries: binaries install-lib-binaries install-bin-binaries + +#======================================================================== +# This rule installs platform-independent files, such as header files. +#======================================================================== + +install-libraries: libraries + @mkdir -p $(DESTDIR)$(includedir) + @echo "Installing header files in $(DESTDIR)$(includedir)" + @for i in $(GENERIC_HDRS) ; do \ + echo "Installing $$i" ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ + done; + +#======================================================================== +# This rule installs the demos files and associated images. +#======================================================================== + +install-demos: + @mkdir -p $(DESTDIR)$(pkglibdir)/demos + @echo "Installing demo files in $(DESTDIR)$(pkglibdir)/demos" + @for p in $(srcdir)/demos/*; do \ + if test -f $$p; then \ + p=`basename $$p`; \ + echo " Install $$p $(DESTDIR)$(pkglibdir)/demos/$$p"; \ + $(INSTALL_DATA) $(srcdir)/demos/$$p $(DESTDIR)$(pkglibdir)/demos/$$p; \ + fi; \ + done + @mkdir -p $(DESTDIR)$(pkglibdir)/demos/images + @for p in $(srcdir)/demos/images/*; do \ + if test -f $$p; then \ + p=`basename $$p`; \ + echo " Install $$p $(DESTDIR)$(pkglibdir)/demos/images/$$p"; \ + $(INSTALL_DATA) $(srcdir)/demos/images/$$p $(DESTDIR)$(pkglibdir)/demos/images/$$p; \ + fi; \ + done + +#======================================================================== +# Install documentation. Unix manpages should go in the $(mandir) +# directory. +#======================================================================== + +install-doc: doc + @mkdir -p $(DESTDIR)$(mandir)/mann + @echo "Installing documentation in $(DESTDIR)$(mandir)" + @for i in $(srcdir)/doc/*.n; do \ + if test -f $$i; then \ + i=`basename $$i`; \ + echo "Installing $$i"; \ + rm -f $(DESTDIR)$(mandir)/mann/$$i; \ + $(INSTALL_DATA) $(srcdir)/doc/$$i $(DESTDIR)$(mandir)/mann/$$i ; \ + fi \ + done + +test: binaries libraries + $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) + +shell: binaries libraries + @$(TCLSH) $(SCRIPT) + +gdb: + $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) -installptk: $(ptklibs) - $(INSTALL_DATA) $(ptklibs) $(libdir) - (cd Perl; make; make $(INSTALL_PERL)) - (cd Perl/debug; make; make $(INSTALL_PERL)) +depend: -installdirs: - $(srcdir)/mkinstalldirs $(libdir) $(incdir) $(mandir) +#======================================================================== +# $($(PACKAGE)_LIB_FILE) should be listed as part of the BINARIES variable +# mentioned above. That will ensure that this target is built when you +# run "make binaries". # -#------------- Stuff for maintaining ZINC below ----------------------------------- +# The $($(PACKAGE)_OBJECTS) objects are created and linked into the final +# library. In most cases these object files will correspond to the +# source files above. +#======================================================================== + +$($(PACKAGE)_LIB_FILE): $($(PACKAGE)_OBJECTS) + -rm -f $($(PACKAGE)_LIB_FILE) + ${MAKE_LIB} + $(RANLIB) $($(PACKAGE)_LIB_FILE) + +$(Om_LIB_FILE): $(Om_OBJECTS) + -rm -f $(Om_LIB_FILE) + ${SHLIB_LD} -o $@ $(Om_OBJECTS) ${SHLIB_LDFLAGS} + $(RANLIB) $(Om_LIB_FILE) + +$(Tess_LIB_FILE): $(Tess_OBJECTS) + -rm -f $(Tess_LIB_FILE) + ${STLIB_LD} $@ $(Tess_OBJECTS) + $(RANLIB) $(Om_LIB_FILE) + +#======================================================================== +# We need to enumerate the list of .c to .o lines here. # - -VERSION = @ZINC_VERSION@ - -Makefile: Makefile.in config.status - $(SHELL) config.status -config.status: configure - $(SHELL) $(srcdir)/configure --no-create -configure: configure.in - cd $(srcdir); autoconf -config.h.in: configure.in - cd $(srcdir); autoheader; touch config.h.in - -dist: zinc$(VERSION).tar.gz -zinc$(VERSION).tar.gz: temp/zinc$(VERSION) - cd temp; tar cohf ../zinc$(VERSION).tar zinc$(VERSION) - -rm -f zinc$(VERSION).tar.gz - gzip -9 zinc$(VERSION).tar -temp/zinc$(VERSION): $(afiles) - -rm -rf temp/zinc$(VERSION) - -mkdir temp - mkdir temp/zinc$(VERSION) - cd temp/zinc$(VERSION); for f in $(afiles); do ln -s ../../$$f .; done - -ctags: $(hfiles) $(cfiles) $(tkcfiles) code.doc - etags $(hfiles) $(cfiles) $(tkcfiles) code.doc - -mostlyclean: - -rm -f core a.out tk/*.o tk/*.g ptk/*.o ptk/*.g -clean: distclean -distclean: Perl/Makefile_nodebug - -rm -f *~ *.bak *.tar *.orig *.rej core a.out tk/*.o tk/*.g ptk/*.o ptk/*.g - -rm -f *.a *.so* lints tmp* - -rm -rf *temp - (cd doc; rm -rf refman.aux refman.dvi refman.idx refman.lof \ - refman.log refman.lot refman.toc refman.pdf refman.ilg \ - refman.ind refman refman.out refman.tpt) - (cd libtess; rm -f *.bak Makefile *.o *.a) - (cd Perl; make clean) - -depend: - -$(CPP) $(CPPFLAGS) -MM -I. $(cfiles) $(tkcfiles) > depend.temp - cat depend.temp | sed -e 's/.o:/.g:/g' > depends - cat depend.temp >> depends - rm -f depend.temp - cat depends | sed -e 's+\(.*\):+tk/\1:+g' > depend.temp - rm -f depends - mv depend.temp depends - -depends: - touch depends - -include depends +# In the following lines, $(srcdir) refers to the toplevel directory +# containing your extension. If your sources are in a subdirectory, +# you will have to modify the paths to reflect this: +# +# sample.$(OBJEXT): $(srcdir)/generic/sample.c +# $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/sample.c` -o $@ +# +# Setting the VPATH variable to a list of paths will cause the makefile +# to look into these paths when resolving .c to .obj dependencies. +# As necessary, add $(srcdir):$(srcdir)/compat:.... +#======================================================================== + +VPATH = $(srcdir):$(srcdir)/libtess:$(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win + +.SUFFIXES: .c .$(OBJEXT) + +.c.$(OBJEXT): + $(COMPILE) -c `@CYGPATH@ $<` -o $@ + +#======================================================================== +# Create the pkgIndex.tcl file. +# It is usually easiest to let Tcl do this for you with pkg_mkIndex, but +# you may find that you need to customize the package. If so, either +# modify the -hand version, or create a pkgIndex.tcl.in file and have +# the configure script output the pkgIndex.tcl by editing configure.in. +#======================================================================== + +pkgIndex.tcl: + ( echo package require Tk \; pkg_mkIndex -load Tk . $($(PACKAGE)_LIB_FILE) \; exit; ) | $(WISH) + +pkgIndex.tcl-hand: + (echo 'package ifneeded $(PACKAGE) $(VERSION) \ + [list load [file join $$dir $($(PACKAGE)_LIB_FILE)]]'\ + ) > pkgIndex.tcl + +#======================================================================== +# Distribution creation +# You may need to tweak this target to make it work correctly. +#======================================================================== + +COMPRESS = tar zcvf $(PKG_DIR).tar.gz $(PKG_DIR) +DIST_ROOT = /tmp/dist +DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) + +dist-clean: + rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.* + +dist: dist-clean + mkdir -p $(DIST_DIR) + cp -p $(srcdir)/BUGS $(srcdir)/README* $(srcdir)/Copyright* \ + $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/*.in \ + $(DIST_DIR)/ + chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4 + chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in + + -cp -p $(srcdir)/*.[ch] $(DIST_DIR)/ + + mkdir $(DIST_DIR)/tclconfig + cp $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \ + $(DIST_DIR)/tclconfig/ + chmod 664 $(DIST_DIR)/tclconfig/tcl.m4 + chmod +x $(DIST_DIR)/tclconfig/install-sh + + -list='demos doc generic libtess debian redhat library mac tests unix win Perl Python'; \ + for p in $$list; do \ + if test -d $(srcdir)/$$p ; then \ + tar cf - --exclude=CVS --exclude=.cvsignore $$p | \ + (cd $(DIST_DIR); tar xf -) \ + fi; \ + done + + (cd $(DIST_ROOT); $(COMPRESS);) + +#======================================================================== +# End of user-definable section +#======================================================================== + +#======================================================================== +# Don't modify the file to clean here. Instead, set the "CLEANFILES" +# variable in configure.in +#======================================================================== + +clean: + -test -z "$(BINARIES)" || rm -f $(BINARIES) + -rm -f *.$(OBJEXT) core *.core + -test -z "$(CLEANFILES)" || rm -Rf $(CLEANFILES) + +distclean: clean + -rm -f *.tab.c *~ + -rm -f $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log config.status + +#======================================================================== +# Install binary object libraries. On Windows this includes both .dll and +# .lib files. Because the .lib files are not explicitly listed anywhere, +# we need to deduce their existence from the .dll file of the same name. +# Library files go into the lib directory. +# In addition, this will generate the pkgIndex.tcl +# file in the install location (assuming it can find a usable tclsh shell) +# +# You should not have to modify this target. +#======================================================================== + +install-lib-binaries: + @mkdir -p $(DESTDIR)$(pkglibdir) + @list='$(lib_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ + echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ + $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ + ext=`echo $$p|sed -e "s/.*\.//"`; \ + if test "x$$ext" = "xdll"; then \ + lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \ + if test -f $$lib; then \ + echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \ + $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \ + fi; \ + fi; \ + fi; \ + done + @list='$(aux_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ + echo " Install $$p $(DESTDIR)$(libdir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \ + fi; \ + done + @list='$(RUNTIME_SOURCES)'; for p in $$list; do \ + if test -f $(srcdir)/library/$$p; then \ + echo " Install $$p $(DESTDIR)$(pkglibdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/library/$$p $(DESTDIR)$(pkglibdir)/$$p; \ + fi; \ + done +# +# Construct a full pkgIndex in the installation directory + (cd $(DESTDIR)$(pkglibdir); \ + (echo package require Tk \; pkg_mkIndex -load Tk . $($(PACKAGE)_LIB_FILE) \ + $(RUNTIME_SOURCES) \; exit;) | $(TCLSH)) + +#======================================================================== +# Install binary executables (e.g. .exe files and dependent .dll files) +# This is for files that must go in the bin directory (located next to +# wish and tclsh), like dependent .dll files on Windows. +# +# You should not have to modify this target, except to define bin_BINARIES +# above if necessary. +#======================================================================== + +install-bin-binaries: + @mkdir -p $(DESTDIR)$(bindir) + @list='$(bin_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ + fi; \ + done + +.SUFFIXES: .c .$(OBJEXT) + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +uninstall-binaries: + list='$(lib_BINARIES)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkglibdir)/$$p; \ + done + list='$(RUNTIME_SOURCES)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkglibdir)/$$p; \ + done + list='$(bin_BINARIES)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/$$p; \ + done + +.PHONY: all binaries clean depend distclean doc install libraries test + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + + +#-------------------------------------- +# Targets for perl/Tk +#-------------------------------------- + +perl: binaries + (cd Perl; perl Makefile.PL; make) + (cd Perl/demos; perl Makefile.PL) + (cd Perl/debug; perl Makefile.PL) + +testperl: binaries + (cd Perl; perl Makefile.PL; make test "FULLPERL=PERL_DL_NONLAZY=0 perl") + +perlinstall: binaries + (cd Perl; make; make $(INSTALL_PERL)) + (cd Perl/demos; make; make $(INSTALL_PERL)) + (cd Perl/debug; make; make $(INSTALL_PERL)) + $(INSTALL_DATA) $($(PACKAGE)_LIB_FILE) $(prefix)/lib diff --git a/configure b/configure index 3fb91ea..00786c6 100755 --- a/configure +++ b/configure @@ -12,7 +12,31 @@ ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help + --with-tcl directory containing tcl configuration (tclConfig.sh)" +ac_help="$ac_help + --with-tk directory containing tk configuration (tkConfig.sh)" +ac_help="$ac_help + --enable-threads build with threads [[no]]" +ac_help="$ac_help + --enable-shared build and link with shared libraries [[yes]]" +ac_help="$ac_help + --enable-64bit enable 64bit support (where applicable) [[no]]" +ac_help="$ac_help + --enable-64bit-vis enable 64bit Sparc VIS support [[no]]" +ac_help="$ac_help + --disable-load disallow dynamic loading and "load" command" +ac_help="$ac_help + --enable-symbols build with debugging symbols (yes,no,mem,all) [[no]]" +ac_help="$ac_help --with-x use the X Window System" +ac_help="$ac_help + --enable-shape build with X shape support (if applicable) [[yes]]" +ac_help="$ac_help + --enable-gl build with openGL support (yes,no,damage) [[no]]" +ac_help="$ac_help + --enable-om build with overlap manager support [[yes]]" +ac_help="$ac_help + --enable-ptk build with perl/Tk support [[no]]" # Initialize some variables set by options. # The variables have the same names as the options, with @@ -453,7 +477,7 @@ echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=tkZinc.c +ac_unique_file= # Find the source files, if location was not specified. if test -z "$srcdir"; then @@ -524,16 +548,526 @@ fi +#----------------------------------------------------------------------- +# Setup the CONFIGDIR to the path of the directory containing the +# configuration files +#----------------------------------------------------------------------- +ac_aux_dir= +for ac_dir in tclconfig $srcdir/tclconfig; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in tclconfig $srcdir/tclconfig" 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + +CONFIGDIR=${srcdir}/tclconfig + + +#----------------------------------------------------------------------- +# Define the PACKAGE variable +#-------------------------------------------------------------------- +PACKAGE=Tkzinc + +#-------------------------------------------------------------------- +# Call TEA_INIT as the first TEA_ macro to set up initial vars. +# This will define a ${TEA_PLATFORM} variable == "unix" or "windows". # -# This one is for testing purposes +# Keep it here we will need ${TEA_PLATFORM} soon. +#-------------------------------------------------------------------- + + echo $ac_n "checking for correct TEA configuration""... $ac_c" 1>&6 +echo "configure:591: checking for correct TEA configuration" >&5 + if test x"${PACKAGE}" = x ; then + { echo "configure: error: +The PACKAGE variable must be defined by your TEA configure.in" 1>&2; exit 1; } + fi + echo "$ac_t""ok" 1>&6 + TEA_INITED=ok + case "`uname -s`" in + *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) + # Extract the first word of "cygpath", so it can be a program name with args. +set dummy cygpath; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:603: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CYGPATH'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CYGPATH"; then + ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CYGPATH="cygpath -w" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo" +fi +fi +CYGPATH="$ac_cv_prog_CYGPATH" +if test -n "$CYGPATH"; then + echo "$ac_t""$CYGPATH" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + EXEEXT=".exe" + TEA_PLATFORM="windows" + ;; + *) + CYGPATH=echo + EXEEXT="" + TEA_PLATFORM="unix" + ;; + esac + + + + + +#----------------------------------------------------------------------- +# Define the VERSION variable # +# VERSION is constructed from MAJOR_VERSION, MINOR_VERSION and +# PATCHLEVEL. The windows variant does not containt a dot. +#----------------------------------------------------------------------- +MAJOR_VERSION=3 +MINOR_VERSION=2 +PATCHLEVEL=90 + +VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCHLEVEL} + + + + + + +#-------------------------------------------------------------------- +# This define a preprocessor macro -DVERSION=3.2.6i to include +# the package version in the sources. +#-------------------------------------------------------------------- +eval cat >> confdefs.h <&2; exit 1; } + fi + # + # Ok, lets find the tcl configuration + # First, look for one uninstalled. + # the alternative search directory is invoked by --with-tcl + # + + if test x"${no_tcl}" = x ; then + # we reset no_tcl in case something fails here + no_tcl=true + # Check whether --with-tcl or --without-tcl was given. +if test "${with_tcl+set}" = set; then + withval="$with_tcl" + with_tclconfig=${withval} +fi + + echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6 +echo "configure:694: checking for Tcl configuration" >&5 + if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + + # First check to see if --with-tcl was specified. + if test x"${with_tclconfig}" != x ; then + if test -f "${with_tclconfig}/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` + else + { echo "configure: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" 1>&2; exit 1; } + fi + fi + + # then check for a private Tcl installation + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ../tcl \ + `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \ + ../../tcl \ + `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ + ../../../tcl \ + `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + + # check in a few common install locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in `ls -d ${exec_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` \ + ; do + if test -f "$i/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i; pwd)` + break + fi + done + fi + + # check in a few other private locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + +fi + + + if test x"${ac_cv_c_tclconfig}" = x ; then + TCL_BIN_DIR="# no Tcl configs found" + echo "configure: warning: "Cannot find Tcl configuration definitions"" 1>&2 + exit 0 + else + no_tcl= + TCL_BIN_DIR=${ac_cv_c_tclconfig} + echo "$ac_t""found $TCL_BIN_DIR/tclConfig.sh" 1>&6 + fi + fi + + + echo $ac_n "checking for existence of $TCL_BIN_DIR/tclConfig.sh""... $ac_c" 1>&6 +echo "configure:767: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 + + if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then + echo "$ac_t""loading" 1>&6 + . $TCL_BIN_DIR/tclConfig.sh + else + echo "$ac_t""file not found" 1>&6 + fi + + # + # If the TCL_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 TCL_LIB_SPEC will be set to the value + # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC + # instead of TCL_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. + # + + if test -f $TCL_BIN_DIR/Makefile ; then + TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} + TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} + TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} + fi + + # + # eval is required to do the TCL_DBGX substitution + # + + eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" + eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" + eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" + + eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" + eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" + eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" + + + + + + + + + + + + + + #AC_SUBST(TCL_DBGX) + + + + + + #AC_SUBST(TCL_BUILD_LIB_SPEC) + #AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) + + +#-------------------------------------------------------------------- +# Load the tkConfig.sh file +#-------------------------------------------------------------------- + + # + # Ok, lets find the tk configuration + # First, look for one uninstalled. + # the alternative search directory is invoked by --with-tk + # + + if test x"${no_tk}" = x ; then + # we reset no_tk in case something fails here + no_tk=true + # Check whether --with-tk or --without-tk was given. +if test "${with_tk+set}" = set; then + withval="$with_tk" + with_tkconfig=${withval} +fi + + echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6 +echo "configure:845: checking for Tk configuration" >&5 + if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + + # First check to see if --with-tkconfig was specified. + if test x"${with_tkconfig}" != x ; then + if test -f "${with_tkconfig}/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` + else + { echo "configure: error: ${with_tkconfig} directory doesn't contain tkConfig.sh" 1>&2; exit 1; } + fi + fi + + # then check for a private Tk library + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in \ + ../tk \ + `ls -dr ../tk[8-9].[0-9]* 2>/dev/null` \ + ../../tk \ + `ls -dr ../../tk[8-9].[0-9]* 2>/dev/null` \ + ../../../tk \ + `ls -dr ../../../tk[8-9].[0-9]* 2>/dev/null` ; do + if test -f "$i/unix/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + # check in a few common install locations + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in `ls -d ${exec_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` \ + ; do + if test -f "$i/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i; pwd)` + break + fi + done + fi + # check in a few other private locations + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in \ + ${srcdir}/../tk \ + `ls -dr ${srcdir}/../tk[8-9].[0-9]* 2>/dev/null` ; do + if test -f "$i/unix/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + +fi + + if test x"${ac_cv_c_tkconfig}" = x ; then + TK_BIN_DIR="# no Tk configs found" + echo "configure: warning: "Cannot find Tk configuration definitions"" 1>&2 + exit 0 + else + no_tk= + TK_BIN_DIR=${ac_cv_c_tkconfig} + echo "$ac_t""found $TK_BIN_DIR/tkConfig.sh" 1>&6 + fi + fi + + + + echo $ac_n "checking for existence of ${TK_BIN_DIR}/tkConfig.sh""... $ac_c" 1>&6 +echo "configure:916: checking for existence of ${TK_BIN_DIR}/tkConfig.sh" >&5 + + if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then + echo "$ac_t""loading" 1>&6 + . $TK_BIN_DIR/tkConfig.sh + else + echo "$ac_t""could not find ${TK_BIN_DIR}/tkConfig.sh" 1>&6 + fi + + # + # If the TK_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 TK_LIB_SPEC will be set to the value + # of TK_BUILD_LIB_SPEC. An extension should make use of TK_LIB_SPEC + # instead of TK_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. + # + + if test -f $TK_BIN_DIR/Makefile ; then + TK_LIB_SPEC=${TK_BUILD_LIB_SPEC} + TK_STUB_LIB_SPEC=${TK_BUILD_STUB_LIB_SPEC} + TK_STUB_LIB_PATH=${TK_BUILD_STUB_LIB_PATH} + fi + + # + # eval is required to do the TK_DBGX substitution + # + + eval "TK_LIB_FILE=\"${TK_LIB_FILE}\"" + eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\"" + eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\"" + + eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\"" + eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\"" + eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\"" + + + + + + + + + + + + + + + + + +#----------------------------------------------------------------------- +# Handle the --prefix=... option by defaulting to what Tcl gave. +# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. +#----------------------------------------------------------------------- + + # Should be AC_MSG_NOTICE, but that requires autoconf 2.50 + if test "${prefix}" = "NONE"; then + prefix_default=yes + if test x"${TCL_PREFIX}" != x; then + echo "configure: warning: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" 1>&2 + prefix=${TCL_PREFIX} + else + prefix=/usr/local + fi + fi + if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" ; then + if test x"${TCL_EXEC_PREFIX}" != x; then + echo "configure: warning: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" 1>&2 + exec_prefix=${TCL_EXEC_PREFIX} + else + exec_prefix=$prefix + fi + fi + + +#----------------------------------------------------------------------- +# Standard compiler checks. +# This sets up CC by using the CC env var, or looks for gcc otherwise. +# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create +# the basic setup necessary to compile executables. +#----------------------------------------------------------------------- +echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 +echo "configure:1000: checking for Cygwin environment" >&5 +if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cygwin=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_cygwin=no +fi +rm -f conftest* +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_cygwin" 1>&6 +CYGWIN= +test "$ac_cv_cygwin" = yes && CYGWIN=yes +echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 +echo "configure:1033: checking for mingw32 environment" >&5 +if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_mingw32=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_mingw32=no +fi +rm -f conftest* +rm -f conftest* +fi +echo "$ac_t""$ac_cv_mingw32" 1>&6 +MINGW32= +test "$ac_cv_mingw32" = yes && MINGW32=yes + # If the user did not set CFLAGS, set it now to keep + # the AC_PROG_CC macro from adding "-g -O2". + if test "${CFLAGS+set}" != "set" ; then + CFLAGS="" + fi -# Extract the first word of "gcc", so it can be a program name with args. + # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:537: checking for $ac_word" >&5 +echo "configure:1071: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -563,7 +1097,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:567: checking for $ac_word" >&5 +echo "configure:1101: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -614,7 +1148,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:618: checking for $ac_word" >&5 +echo "configure:1152: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -646,7 +1180,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:650: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1184: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -657,12 +1191,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 661 "configure" +#line 1195 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -688,12 +1222,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:692: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1226: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:697: checking whether we are using GNU C" >&5 +echo "configure:1231: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -702,7 +1236,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -721,7 +1255,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:725: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1259: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -752,163 +1286,39 @@ else fi fi -for ac_prog in perl -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:761: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$PERL"; then - ac_cv_prog_PERL="$PERL" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_PERL="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -PERL="$ac_cv_prog_PERL" -if test -n "$PERL"; then - echo "$ac_t""$PERL" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$PERL" && break -done -test -n "$PERL" || PERL="error" - - -INSTALLARCHLIB=`perl -MConfig -e 'print $Config{installarchlib}'` -TKLIB=`perl -MTk -e 'print $Tk::library'` -INSTALLPRIVLIB=`perl -MConfig -e 'print $Config{installprivlib}'` -INSTALLMAN1DIR=`perl -MConfig -e 'print $Config{installman1dir}'` -INSTALLMAN3DIR=`perl -MConfig -e 'print $Config{installman3dir}'` - - - - - - - - - -# extract version information - -ZINC_VER=`sed -n -e 's/#define ZINCVER.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_MAJOR=`sed -n -e 's/#define ZINCREV.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_VERSION=`sed -n -e 's/#define ZINCVERSION.*\([0-9][a-z][0-9]\).*/\1/p' patchlvl.h` + #------------------------------------------------------------------------ + # If we're using GCC, see if the compiler understands -pipe. If so, use it. + # It makes compiling go faster. (This is only a performance feature.) + #------------------------------------------------------------------------ + if test -z "$no_pipe" -a -n "$GCC"; then + echo $ac_n "checking if the compiler understands -pipe""... $ac_c" 1>&6 +echo "configure:1298: checking if the compiler understands -pipe" >&5 + OLDCC="$CC" + CC="$CC -pipe" + cat > conftest.$ac_ext <&6 -echo "configure:821: checking for shared library support" >&5 - sharedlib_extension=so # right for almost everything - sharedlib_suffix='.$(sharedlib_version)' - sharedlib_cflags= - sharedlib_buildflags= - sharedlib_buildflags_gcc= - sharedlib_linkflags= - sharedlib_linkflags_gcc= - sharedlib_postinstall= - - # We'll be changing some settings if gcc, below, - # but let's do the uname patterns only once. - case `(uname -a 2>&1) 2>/dev/null` in - FreeBSD*) # xx right uname? - # xx really need -DPIC in cflags? - # xx extension must be .so? - sharedlib_buildflags_gcc=-Wl,-Bshareable # xx must run ld? - ;; - HP-UX*) - sharedlib_extension=sl - sharedlib_suffix= - sharedlib_cflags=+z - sharedlib_buildflags=-Wl,-b # xx must run ld? - sharedlib_postinstall="chmod a+x" - ;; - IRIX*) - sharedlib_buildflags='-shared -no_unresolved \ --set_version sgi$(sharedlib_version) -soname $(sharedlib)' - sharedlib_linkflags='-rpath $(libdir)' - sharedlib_linkflags_gcc='-Wl,-rpath,$(libdir)' - ;; - Linux*) -# sharedlib_buildflags_gcc='-shared -Wl,-soname,$(sharedlib)' - sharedlib_postinstall='ldconfig #' - sharedlib_linkflags='-Wl,-rpath,$(libdir)' - ;; - OSF1*) - # xx run ld? link with -lc? - # version stuff not right, since old versions should also be - # passed to -set_version. - sharedlib_buildflags='-Wl,shared -set_version $(sharedlib_version)' - sharedlib_linkflags='-Wl,-rpath,$(libdir)' - ;; - SunOS*4.*) - sharedlib_cflags=-PIC - sharedlib_linkflags='-L$(libdir)' - ;; - SunOS*5.*) - sharedlib_cflags="-K pic" - sharedlib_buildflags='-G -z text -h $(sharedlib)' - sharedlib_linkflags='-R$(libdir)' - ;; - esac - - # If GCC, things are usually simpler. - if test "$GCC" = yes; then - sharedlib_cflags=-fPIC # should we ever use -fpic? - if test -n "$sharedlib_buildflags_gcc"; then - sharedlib_buildflags=$sharedlib_buildflags_gcc - else - sharedlib_buildflags=-shared - fi - if test -n "$sharedlib_linkflags_gcc"; then - sharedlib_linkflags=$sharedlib_linkflags_gcc +; return 0; } +EOF +if { (eval echo configure:1309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CC="$OLDCC" + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* fi - fi - - test -z "$sharedlib_postinstall" && sharedlib_postinstall=: - - echo "$ac_t""$sharedlib_cflags/$sharedlib_buildflags/$sharedlib_linkflags" 1>&6 - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - -# Find a good install program. We prefer a C program (faster), + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -920,7 +1330,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:924: checking for a BSD compatible install" >&5 +echo "configure:1334: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -972,90 +1382,47 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:977: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + + #-------------------------------------------------------------------- + # Checks to see if the make program sets the $MAKE variable. + #-------------------------------------------------------------------- + + echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +echo "configure:1392: checking whether ${MAKE-make} sets \${MAKE}" >&5 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1015: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error + cat > conftestmake <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* + eval ac_cv_prog_make_${ac_make}_set=no fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" +rm -f conftestmake fi - CPP="$ac_cv_prog_CPP" +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$ac_t""yes" 1>&6 + SET_MAKE= else - ac_cv_prog_CPP="$CPP" + echo "$ac_t""no" 1>&6 + SET_MAKE="MAKE=${MAKE-make}" fi -echo "$ac_t""$CPP" 1>&6 -# Extract the first word of "ranlib", so it can be a program name with args. + + #-------------------------------------------------------------------- + # Find ranlib + #-------------------------------------------------------------------- + + # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1059: checking for $ac_word" >&5 +echo "configure:1426: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1082,260 +1449,522 @@ else echo "$ac_t""no" 1>&6 fi -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1087: checking for POSIXized ISC" >&5 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$ac_t""yes" 1>&6 - ISC=yes # If later tests want to check for ISC. - cat >> confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - if test "$GCC" = yes; then - CC="$CC -posix" + #-------------------------------------------------------------------- + # Determines the correct binary file extension (.o, .obj, .exe etc.) + #-------------------------------------------------------------------- + + echo $ac_n "checking for object suffix""... $ac_c" 1>&6 +echo "configure:1459: checking for object suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + rm -f conftest* +echo 'int i = 1;' > conftest.$ac_ext +if { (eval echo configure:1465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + for ac_file in conftest.*; do + case $ac_file in + *.c) ;; + *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; + esac + done +else + { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_objext" 1>&6 +OBJEXT=$ac_cv_objext +ac_objext=$ac_cv_objext + + + +echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 +echo "configure:1485: checking for executable suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$CYGWIN" = yes || test "$MINGW32" = yes; then + ac_cv_exeext=.exe +else + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_exeext= + if { (eval echo configure:1495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + for file in conftest.*; do + case $file in + *.$ac_ext | *.c | *.o | *.obj) ;; + *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; + esac + done else - CC="$CC -Xp" + { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } fi -else - echo "$ac_t""no" 1>&6 - ISC= + rm -f conftest* + test x"${ac_cv_exeext}" = x && ac_cv_exeext=no fi +fi + +EXEEXT="" +test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} +echo "$ac_t""${ac_cv_exeext}" 1>&6 +ac_exeext=$EXEEXT -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1108: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + +echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 +echo "configure:1517: checking for Cygwin environment" >&5 +if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -#include -#include -#include + +int main() { + +#ifndef __CYGWIN__ +#define __CYGWIN__ __CYGWIN32__ +#endif +return __CYGWIN__; +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1121: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:1533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_header_stdc=yes + ac_cv_cygwin=yes else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_header_stdc=no + ac_cv_cygwin=no fi rm -f conftest* +rm -f conftest* +fi -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext <&6 +CYGWIN= +test "$ac_cv_cygwin" = yes && CYGWIN=yes +echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 +echo "configure:1550: checking for mingw32 environment" >&5 +if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < + +int main() { +return __MINGW32__; +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : +if { (eval echo configure:1562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_mingw32=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_header_stdc=no + ac_cv_mingw32=no fi rm -f conftest* - +rm -f conftest* fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < +echo "$ac_t""$ac_cv_mingw32" 1>&6 +MINGW32= +test "$ac_cv_mingw32" = yes && MINGW32=yes + +#-------------------------------------------------------------------- +# Choose which headers you need. Extension authors should try very +# hard to only rely on the Tcl public header files. Internal headers +# contain private data structures and are subject to change without +# notice. +# This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG +# +# Sorry but zinc needs the internal functionality provided by Tk +# even if this is less convenient and secure. +#-------------------------------------------------------------------- + + echo $ac_n "checking for Tcl private include files""... $ac_c" 1>&6 +echo "configure:1591: checking for Tcl private include files" >&5 + + if test "${TEA_PLATFORM}" = "windows"; then + TCL_TOP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}`\" + TCL_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/generic`\" + TCL_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/unix`\" + TCL_WIN_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/win`\" + TCL_BMAP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/bitmaps`\" + TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\" + TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\" + TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE} + else + TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)' + TCL_GENERIC_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/generic' + TCL_UNIX_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/unix' + TCL_WIN_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/win' + TCL_BMAP_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/bitmaps' + TCL_TOOL_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/tools' + TCL_COMPAT_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/compat' + TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE} + fi + + + + + + + + + + TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" + + echo "$ac_t""Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" 1>&6 + + + echo $ac_n "checking for Tk private include files""... $ac_c" 1>&6 +echo "configure:1627: checking for Tk private include files" >&5 + + if test "${TEA_PLATFORM}" = "windows"; then + TK_TOP_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}`\" + TK_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/unix`\" + TK_WIN_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/win`\" + TK_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/generic`\" + TK_XLIB_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/xlib`\" + TK_PLATFORM_DIR_NATIVE=${TK_WIN_DIR_NATIVE} + + TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE} -I${TK_XLIB_DIR_NATIVE}" + else + TK_TOP_DIR_NATIVE='$(TK_SRC_DIR)' + TK_GENERIC_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/generic' + TK_UNIX_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/unix' + TK_WIN_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/win' + TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE} + + TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}" + fi + + + + + + + + + + echo "$ac_t""Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}" 1>&6 + + +#-------------------------------------------------------------------- +# A few miscellaneous platform-specific items: +# +# Define the special symbol BUILD_Tkzinc for Windows so +# that we create the export library with the dll. +# +# Windows creates a few extra files that need to be cleaned up. +# +# Define any extra compiler flags in the PACKAGE_CFLAGS variable. +# These will be appended to the current set of compiler flags for +# your system. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + cat >> confdefs.h <<\EOF +#define BUILD_Tkzinc 1 EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : + + CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch" + EXTRA_SOURCES='$(WIN_SOURCES)' else - rm -rf conftest* - ac_cv_header_stdc=no + CLEANFILES="pkgIndex.tcl" + EXTRA_SOURCES='$(UNIX_SOURCES)' fi -rm -f conftest* +CLEANFILES="${CLEANFILES} doc/*.dvi doc/*.aux doc/*.idx doc/*.ilg doc/*.ind" +CLEANFILES="${CLEANFILES} doc/*.lof doc/*.log doc/*.out doc/*.toc doc/*.tpt" +CLEANFILES="${CLEANFILES} doc/refman doc/refman.pdf" +CLEANFILES="${CLEANFILES} Perl/Zinc.o Perl/Zinc.c Perl/Zinc.bs Perl/blib" +CLEANFILES="${CLEANFILES} Perl/pm_to_blib Perl/Makefile Perl/Makefile.PL" +CLEANFILES="${CLEANFILES} Perl/debug/Makefile Perl/debug/pm_to_blib Perl/debug/blib" +CLEANFILES="${CLEANFILES} Perl/demos/Makefile Perl/demos/pm_to_blib Perl/demos/blib" -fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } -EOF -if { (eval echo configure:1188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : + +#-------------------------------------------------------------------- +# Check whether --enable-threads or --disable-threads was given. +# This call disable threading support as a default. +#-------------------------------------------------------------------- + + # Check whether --enable-threads or --disable-threads was given. +if test "${enable_threads+set}" = set; then + enableval="$enable_threads" + tcl_ok=$enableval else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* + tcl_ok=no fi -fi -fi -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 + if test "$tcl_ok" = "yes"; then + TCL_THREADS=1 + + if test "${TEA_PLATFORM}" != "windows" ; then + # We are always OK on Windows, so check what this platform wants. + cat >> confdefs.h <<\EOF +#define USE_THREAD_ALLOC 1 EOF -fi + cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF -for ac_hdr in values.h stddef.h stdarg.h limits.h strings.h string.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1215: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + cat >> confdefs.h <<\EOF +#define _THREAD_SAFE 1 +EOF + + echo $ac_n "checking for pthread_mutex_init in -lpthread""... $ac_c" 1>&6 +echo "configure:1725: checking for pthread_mutex_init in -lpthread" >&5 +ac_lib_var=`echo pthread'_'pthread_mutex_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_mutex_init(); + +int main() { +pthread_mutex_init() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1225: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:1744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + eval "ac_cv_lib_$ac_lib_var=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* +LIBS="$ac_save_LIBS" + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +tcl_ok=no fi -done -for ac_hdr in unistd.h memory.h stdlib.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1255: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + if test "$tcl_ok" = "no"; then + # Check a little harder for __pthread_mutex_init in the + # same library, as some systems hide it there until + # pthread.h is defined. We could alternatively do an + # AC_TRY_COMPILE with pthread.h, but that will work with + # libpthread really doesn't exist, like AIX 4.2. + # [Bug: 4359] + echo $ac_n "checking for __pthread_mutex_init in -lpthread""... $ac_c" 1>&6 +echo "configure:1773: checking for __pthread_mutex_init in -lpthread" >&5 +ac_lib_var=`echo pthread'_'__pthread_mutex_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char __pthread_mutex_init(); + +int main() { +__pthread_mutex_init() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:1792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + eval "ac_cv_lib_$ac_lib_var=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* +LIBS="$ac_save_LIBS" + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +tcl_ok=no fi -done -for ac_hdr in sys/types.h sys/time.h sys/timeb.h sys/times.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1295: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + fi + + if test "$tcl_ok" = "yes"; then + # The space is needed + THREADS_LIBS=" -lpthread" + else + echo $ac_n "checking for pthread_mutex_init in -lpthreads""... $ac_c" 1>&6 +echo "configure:1820: checking for pthread_mutex_init in -lpthreads" >&5 +ac_lib_var=`echo pthreads'_'pthread_mutex_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_mutex_init(); + +int main() { +pthread_mutex_init() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1305: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:1839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + eval "ac_cv_lib_$ac_lib_var=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* +LIBS="$ac_save_LIBS" + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +tcl_ok=no fi -done -for ac_func in gettimeofday -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1334: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + if test "$tcl_ok" = "yes"; then + # The space is needed + THREADS_LIBS=" -lpthreads" + else + echo $ac_n "checking for pthread_mutex_init in -lc""... $ac_c" 1>&6 +echo "configure:1865: checking for pthread_mutex_init in -lc" >&5 +ac_lib_var=`echo c'_'pthread_mutex_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + tcl_ok=yes +else + echo "$ac_t""no" 1>&6 +tcl_ok=no +fi + + if test "$tcl_ok" = "no"; then + echo $ac_n "checking for pthread_mutex_init in -lc_r""... $ac_c" 1>&6 +echo "configure:1907: checking for pthread_mutex_init in -lc_r" >&5 +ac_lib_var=`echo c_r'_'pthread_mutex_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lc_r $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + tcl_ok=yes +else + echo "$ac_t""no" 1>&6 +tcl_ok=no +fi + + if test "$tcl_ok" = "yes"; then + # The space is needed + THREADS_LIBS=" -pthread" + else + TCL_THREADS=0 + echo "configure: warning: "Don t know how to find pthread lib on your system - thread support disabled"" 1>&2 + fi + fi + fi + fi + + # Does the pthread-implementation provide + # 'pthread_attr_setstacksize' ? + for ac_func in pthread_attr_setstacksize +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:1963: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1382,347 +2011,258 @@ else fi done + fi + else + TCL_THREADS=0 + fi + # Do checking message here to not mess up interleaved configure output + echo $ac_n "checking for building with threads""... $ac_c" 1>&6 +echo "configure:2021: checking for building with threads" >&5 + if test "${TCL_THREADS}" = "1"; then + cat >> confdefs.h <<\EOF +#define TCL_THREADS 1 +EOF + echo "$ac_t""yes" 1>&6 + else + echo "$ac_t""no (default)" 1>&6 + fi + # TCL_THREADS sanity checking. See if our request for building with + # threads is the same as the way Tcl was built. If not, warn the user. + case ${TCL_DEFS} in + *THREADS=1*) + if test "${TCL_THREADS}" = "0"; then + echo "configure: warning: + Building ${PACKAGE} without threads enabled, but building against a Tcl + that IS thread-enabled." 1>&2 + fi + ;; + *) + if test "${TCL_THREADS}" = "1"; then + echo "configure: warning: + --enable-threads requested, but attempting building against a Tcl + that is NOT thread-enabled." 1>&2 + fi + ;; + esac + -# If we find X, set shell vars x_includes and x_libraries to the -# paths, otherwise set no_x=yes. -# Uses ac_ vars as temps to allow command line to override cache and checks. -# --without-x overrides everything else, but does not touch the cache. -echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:1393: checking for X" >&5 -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" - : -fi +#-------------------------------------------------------------------- +# The statement below defines a collection of symbols related to +# building as a shared library instead of a static library. +#-------------------------------------------------------------------- -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else -if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo $ac_n "checking how to build libraries""... $ac_c" 1>&6 +echo "configure:2058: checking how to build libraries" >&5 + # Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + tcl_ok=$enableval else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=NO ac_x_libraries=NO -rm -fr conftestdir -if mkdir conftestdir; then - cd conftestdir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat > Imakefile <<'EOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -EOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case "$ac_im_incroot" in - /usr/include) ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; - esac - case "$ac_im_usrlibdir" in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; - esac - fi - cd .. - rm -fr conftestdir + tcl_ok=yes fi -if test "$ac_x_includes" = NO; then - # Guess where to find include files, by looking for this one X11 .h file. - test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h - # First, try using that file with no special directory specified. -cat > conftest.$ac_ext <&6 + SHARED_BUILD=1 + else + echo "$ac_t""static" 1>&6 + SHARED_BUILD=0 + cat >> confdefs.h <<\EOF +#define STATIC_BUILD 1 +EOF + + fi + + + +#-------------------------------------------------------------------- +# This macro figures out what flags to use with the compiler/linker +# when building shared/static debug/optimized objects. This information +# can be taken from the tclConfig.sh file, but this figures it all out. +#-------------------------------------------------------------------- +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:2095: checking how to run the C preprocessor" >&5 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext < +#include +Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then - rm -rf conftest* - # We can compile using X headers with no special include directory. -ac_x_includes= + : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - # Look for the header file in a standard set of common directories. -# Check X11 before X11Rn because it is often a symlink to the current release. - for ac_dir in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/unsupported/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include \ - ; \ - do - if test -r "$ac_dir/$x_direct_test_include"; then - ac_x_includes=$ac_dir - break - fi - done -fi -rm -f conftest* -fi # $ac_x_includes = NO - -if test "$ac_x_libraries" = NO; then - # Check for the libraries. - - test -z "$x_direct_test_library" && x_direct_test_library=Xt - test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc - - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS="$LIBS" - LIBS="-l$x_direct_test_library $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < +Syntax Error EOF -if { (eval echo configure:1536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - LIBS="$ac_save_LIBS" -# We can link X programs with no special library path. -ac_x_libraries= + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext < +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2150: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - LIBS="$ac_save_LIBS" -# First see if replacing the include by lib works. -# Check X11 before X11Rn because it is often a symlink to the current release. -for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ - /usr/X11/lib \ - /usr/X11R6/lib \ - /usr/X11R5/lib \ - /usr/X11R4/lib \ - \ - /usr/lib/X11 \ - /usr/lib/X11R6 \ - /usr/lib/X11R5 \ - /usr/lib/X11R4 \ - \ - /usr/local/X11/lib \ - /usr/local/X11R6/lib \ - /usr/local/X11R5/lib \ - /usr/local/X11R4/lib \ - \ - /usr/local/lib/X11 \ - /usr/local/lib/X11R6 \ - /usr/local/lib/X11R5 \ - /usr/local/lib/X11R4 \ - \ - /usr/X386/lib \ - /usr/x386/lib \ - /usr/XFree86/lib/X11 \ - \ - /usr/lib \ - /usr/local/lib \ - /usr/unsupported/lib \ - /usr/athena/lib \ - /usr/local/x11r5/lib \ - /usr/lpp/Xamples/lib \ - /lib/usr/lib/X11 \ - \ - /usr/openwin/lib \ - /usr/openwin/share/lib \ - ; \ -do - for ac_extension in a so sl; do - if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done + CPP=/lib/cpp fi rm -f conftest* -fi # $ac_x_libraries = NO - -if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi +rm -f conftest* fi - fi - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - echo "$ac_t""$have_x" 1>&6 - no_x=yes +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 + ac_cv_prog_CPP="$CPP" fi +echo "$ac_t""$CPP" 1>&6 -if test "$no_x" = yes; then - # Not all programs may use this symbol, but it does not hurt to define it. - cat >> confdefs.h <<\EOF -#define X_DISPLAY_MISSING 1 -EOF - - X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= -else - if test -n "$x_includes"; then - X_CFLAGS="$X_CFLAGS -I$x_includes" - fi - # It would also be nice to do this for all -L options, not just this one. - if test -n "$x_libraries"; then - X_LIBS="$X_LIBS -L$x_libraries" - # For Solaris; some versions of Sun CC require a space after -R and - # others require no space. Words are not sufficient . . . . - case "`(uname -sr) 2>/dev/null`" in - "SunOS 5"*) - echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:1642: checking whether -R must be followed by a space" >&5 - ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" - cat > conftest.$ac_ext <&2; exit 1; } + fi -int main() { + # Step 0: Enable 64 bit support? -; return 0; } -EOF -if { (eval echo configure:1652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_nospace=yes + echo $ac_n "checking if 64bit support is enabled""... $ac_c" 1>&6 +echo "configure:2183: checking if 64bit support is enabled" >&5 + # Check whether --enable-64bit or --disable-64bit was given. +if test "${enable_64bit+set}" = set; then + enableval="$enable_64bit" + do64bit=$enableval else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_nospace=no + do64bit=no fi -rm -f conftest* - if test $ac_R_nospace = yes; then - echo "$ac_t""no" 1>&6 - X_LIBS="$X_LIBS -R$x_libraries" - else - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_space=yes + echo "$ac_t""$do64bit" 1>&6 + + # Step 0.b: Enable Solaris 64 bit VIS support? + + echo $ac_n "checking if 64bit Sparc VIS support is requested""... $ac_c" 1>&6 +echo "configure:2197: checking if 64bit Sparc VIS support is requested" >&5 + # Check whether --enable-64bit-vis or --disable-64bit-vis was given. +if test "${enable_64bit_vis+set}" = set; then + enableval="$enable_64bit_vis" + do64bitVIS=$enableval else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_space=no + do64bitVIS=no fi -rm -f conftest* - if test $ac_R_space = yes; then - echo "$ac_t""yes" 1>&6 - X_LIBS="$X_LIBS -R $x_libraries" + + echo "$ac_t""$do64bitVIS" 1>&6 + + if test "$do64bitVIS" = "yes"; then + # Force 64bit on with VIS + do64bit=yes + fi + + # Step 1: set the variable "system" to hold the name and version number + # for the system. This can usually be done via the "uname" command, but + # there are a few systems, like Next, where this doesn't work. + + echo $ac_n "checking system version (for dynamic loading)""... $ac_c" 1>&6 +echo "configure:2218: checking system version (for dynamic loading)" >&5 + if test -f /usr/lib/NextStep/software_version; then + system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` + else + system=`uname -s`-`uname -r` + if test "$?" -ne 0 ; then + echo "$ac_t""unknown (can't find uname command)" 1>&6 + system=unknown else - echo "$ac_t""neither works" 1>&6 + # Special check for weird MP-RAS system (uname returns weird + # results, and the version is kept in special file). + + if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then + system=MP-RAS-`awk '{print }' /etc/.relid'` + fi + if test "`uname -s`" = "AIX" ; then + system=AIX-`uname -v`.`uname -r` + fi + if test "${TEA_PLATFORM}" = "windows" ; then + system=windows + fi + echo "$ac_t""$system" 1>&6 fi - fi - LIBS="$ac_xsave_LIBS" - esac - fi + fi - # Check for system-dependent libraries X programs must link with. - # Do this before checking for the system-independent R6 libraries - # (-lICE), since we may need -lsocket or whatever for X linking. + # Step 2: check for existence of -ldl library. This is needed because + # Linux can use either -ldl or -ldld for dynamic loading. - if test "$ISC" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" - else - # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X - # libraries were built with DECnet support. And karl@cs.umb.edu says - # the Alpha needs dnet_stub (dnet does not exist). - echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:1707: checking for dnet_ntoa in -ldnet" >&5 -ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` + echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +echo "configure:2247: checking for dlopen in -ldl" >&5 +ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ldnet $LIBS" +LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1737,33 +2277,217 @@ LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" + have_dl=yes +else + echo "$ac_t""no" 1>&6 +have_dl=no +fi + + + # Step 3: set configuration options based on system name and version. + + do64bit_ok=no + EXTRA_CFLAGS="" + TCL_EXPORT_FILE_SUFFIX="" + UNSHARED_LIB_SUFFIX="" + TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`' + ECHO_VERSION='`echo ${VERSION}`' + TCL_LIB_VERSIONS_OK=ok + CFLAGS_DEBUG=-g + CFLAGS_OPTIMIZE=-O + if test "$GCC" = "yes" ; then +# +# no-implicit-int is already included in all. +# -Wconversion generate some pretty useless warnings +# among more useful ones. To be used once in a while. +# Added -W which _is_ useful, it detects comparisons +# between unsigned and signed, empty blocks, unused +# parameters/vars.... +# CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int" + CFLAGS_WARNING="-Wall -W" + else + CFLAGS_WARNING="" + fi + TCL_NEEDS_EXP_FILE=0 + TCL_BUILD_EXP_FILE="" + TCL_EXP_FILE="" + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2318: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_AR="ar" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +AR="$ac_cv_prog_AR" +if test -n "$AR"; then + echo "$ac_t""$AR" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:1748: checking for dnet_ntoa in -ldnet_stub" >&5 -ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` + STLIB_LD='${AR} cr' + case $system in + windows) + # This is a 2-stage check to make sure we have the 64-bit SDK + # We have to know where the SDK is installed. + if test "$do64bit" = "yes" ; then + if test "x${MSSDK}x" = "xx" ; then + MSSDK="C:/Progra~1/Microsoft SDK" + fi + # In order to work in the tortured autoconf environment, + # we need to ensure that this path has no spaces + MSSDK=`cygpath -w -s "$MSSDK" | sed -e 's!\\\!/!g'` + if test ! -d "${MSSDK}/bin/win64" ; then + echo "configure: warning: "could not find 64-bit SDK to enable 64bit mode"" 1>&2 + do64bit="no" + else + do64bit_ok="yes" + fi + fi + + if test "${SHARED_BUILD}" = "0" ; then + runtime=-MT + else + runtime=-MD + fi + + if test "$do64bit" = "yes" ; then + # All this magic is necessary for the Win64 SDK RC1 - hobbs + export CC="${MSSDK}/Bin/Win64/cl.exe \ + -I${MSSDK}/Include/prerelease -I${MSSDK}/Include/Win64/crt \ + -I${MSSDK}/Include" + export RC="${MSSDK}/bin/rc.exe" + export lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ + -LIBPATH:${MSSDK}/Lib/Prerelease/IA64" + export STLIB_LD="${MSSDK}/bin/win64/lib.exe -nologo ${lflags}" + export LINKBIN="${MSSDK}/bin/win64/link.exe ${lflags}" + CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" + CFLAGS_OPTIMIZE="-nologo -O2 -Gs -W2 ${runtime}" + else + RC="rc" + STLIB_LD="lib -nologo" + LINKBIN="link -link50compat" + CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" + CFLAGS_OPTIMIZE="-nologo -O2 -Gs -GD -W2 ${runtime}" + fi + + if test "$MINGW32" = "yes"; then + # mingw gcc mode + CFLAGS_DEBUG="-g" + CFLAGS_OPTIMIZE="-O2" + SHLIB_LD="gcc -shared" + STLIB_LD='${AR} cr' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" + LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" + else + SHLIB_LD="${LINKBIN} -dll -nologo" + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.lib' + EXTRA_CFLAGS="-YX" + # For information on what debugtype is most useful, see: + # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp + # This essentially turns it all on. + LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" + LDFLAGS_OPTIMIZE="-release" + LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" + LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" + PATHTYPE=-w + fi + + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".dll" + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.dll' + + TCL_LIB_VERSIONS_OK=nodots + # Bogus to avoid getting this turned off + DL_OBJS="tclLoadNone.obj" + ;; + AIX-*) + if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then + # AIX requires the _r compiler when gcc isn't being used + if test "${CC}" != "cc_r" ; then + CC=${CC}_r + fi + echo "$ac_t""Using $CC for compiling with threads" 1>&6 + fi + LIBS="$LIBS -lc" + SHLIB_CFLAGS="" + SHLIB_SUFFIX=".so" + SHLIB_LD_LIBS='${LIBS}' + if test "`uname -m`" = "ia64" ; then + # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC + SHLIB_LD="/usr/ccs/bin/ld -G -z text" + # AIX-5 has dl* in libc.so + DL_LIBS="" + if test "$GCC" = "yes" ; then + LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' + else + LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' + fi + else + SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" + DL_LIBS="-ldl" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + TCL_NEEDS_EXP_FILE=1 + TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp' + fi + DL_OBJS="tclLoadDl.o" + LDFLAGS="" + + # AIX v<=4.1 has some different flags than 4.2+ + if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then + LIBOBJS="$LIBOBJS tclLoadAix.o" + DL_LIBS="-lld" + fi + + # On AIX <=v4 systems, libbsd.a has to be linked in to support + # non-blocking file IO. This library has to be linked in after + # the MATH_LIBS or it breaks the pow() function. The way to + # insure proper sequencing, is to add it to the tail of MATH_LIBS. + # This library also supplies gettimeofday. + # + # AIX does not have a timezone field in struct tm. When the AIX + # bsd library is used, the timezone global and the gettimeofday + # methods are to be avoided for timezone deduction instead, we + # deduce the timezone by comparing the localtime result on a + # known GMT value. + + echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6 +echo "configure:2472: checking for gettimeofday in -lbsd" >&5 +ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ldnet_stub $LIBS" +LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1778,89 +2502,172 @@ LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" + libbsd=yes else echo "$ac_t""no" 1>&6 +libbsd=no fi - fi + if test $libbsd = yes; then + MATH_LIBS="$MATH_LIBS -lbsd" + cat >> confdefs.h <<\EOF +#define USE_DELTA_FOR_TZ 1 +EOF - # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, - # to get the SysV transport functions. - # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) - # needs -lnsl. - # The nsl library prevents programs from opening the X display - # on Irix 5.2, according to dickey@clark.net. - echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:1796: checking for gethostbyname" >&5 -if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then + fi + + # Check to enable 64-bit flags for compiler/linker on AIX 4+ + if test "$do64bit" = "yes" -a "`uname -v`" -gt "3" ; then + if test "$GCC" = "yes" ; then + echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2 + else + do64bit_ok=yes + EXTRA_CFLAGS="-q64" + LDFLAGS="-q64" + RANLIB="${RANLIB} -X64" + AR="${AR} -X64" + SHLIB_LDFLAGS="-b64" + fi + fi + ;; + BSD/OS-2.1*|BSD/OS-3*) + SHLIB_CFLAGS="" + SHLIB_LD="shlicc -r" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + BSD/OS-4.*) + SHLIB_CFLAGS="-export-dynamic -fPIC" + SHLIB_LD="cc -shared" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="-export-dynamic" + LD_SEARCH_FLAGS="" + ;; + dgux*) + SHLIB_CFLAGS="-K PIC" + SHLIB_LD="cc -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + HP-UX-*.11.*) + # Use updated header definitions where possible + cat >> confdefs.h <<\EOF +#define _XOPEN_SOURCE_EXTENDED 1 +EOF + + + SHLIB_SUFFIX=".sl" + echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +echo "configure:2573: checking for shl_load in -ldld" >&5 +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char gethostbyname(); +char shl_load(); int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -gethostbyname(); -#endif - +shl_load() ; return 0; } EOF -if { (eval echo configure:1824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - eval "ac_cv_func_gethostbyname=yes" + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_gethostbyname=no" + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* -fi +LIBS="$ac_save_LIBS" -if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - : + tcl_ok=yes else echo "$ac_t""no" 1>&6 +tcl_ok=no fi - if test $ac_cv_func_gethostbyname = no; then - echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:1845: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` + if test "$tcl_ok" = yes; then + SHLIB_CFLAGS="+z" + SHLIB_LD="ld -b" + SHLIB_LD_LIBS='${LIBS}' + DL_OBJS="tclLoadShl.o" + DL_LIBS="-ldld" + LDFLAGS="-Wl,-E" + LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' + fi + + # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc + #EXTRA_CFLAGS="+DAportable" + + # Check to enable 64-bit flags for compiler/linker + if test "$do64bit" = "yes" ; then + if test "$GCC" = "yes" ; then + hpux_arch=`gcc -dumpmachine` + case $hpux_arch in + hppa64*) + # 64-bit gcc in use. Fix flags for GNU ld. + do64bit_ok=yes + SHLIB_LD="gcc -shared" + SHLIB_LD_LIBS="" + LD_SEARCH_FLAGS='' + ;; + *) + echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2 + ;; + esac + else + do64bit_ok=yes + EXTRA_CFLAGS="+DA2.0W" + LDFLAGS="+DA2.0W $LDFLAGS" + fi + fi + ;; + HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) + SHLIB_SUFFIX=".sl" + echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +echo "configure:2652: checking for shl_load in -ldld" >&5 +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" +LIBS="-ldld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1875,274 +2682,1294 @@ LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" + tcl_ok=yes else echo "$ac_t""no" 1>&6 +tcl_ok=no fi - fi - - # lieder@skyler.mavd.honeywell.com says without -lsocket, - # socket/setsockopt and other routines are undefined under SCO ODT - # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary - # on later versions), says simon@lia.di.epfl.ch: it contains - # gethostby* variants that don't use the nameserver (or something). - # -lsocket must be given before -lnsl if both are needed. - # We assume that if connect needs -lnsl, so does gethostbyname. - echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:1894: checking for connect" >&5 -if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then + if test "$tcl_ok" = yes; then + SHLIB_CFLAGS="+z" + SHLIB_LD="ld -b" + SHLIB_LD_LIBS="" + DL_OBJS="tclLoadShl.o" + DL_LIBS="-ldld" + LDFLAGS="-Wl,-E" + LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' + fi + ;; + IRIX-4.*) + SHLIB_CFLAGS="-G 0" + SHLIB_SUFFIX=".a" + SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" + SHLIB_LD_LIBS='${LIBS}' + DL_OBJS="tclLoadAout.o" + DL_LIBS="" + LDFLAGS="-Wl,-D,08000000" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + ;; + IRIX-5.*) + SHLIB_CFLAGS="" + SHLIB_LD="ld -shared -rdata_shared" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + EXTRA_CFLAGS="" + LDFLAGS="" + ;; + IRIX-6.*|IRIX64-6.5*) + SHLIB_CFLAGS="" + SHLIB_LD="ld -n32 -shared -rdata_shared" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + if test "$GCC" = "yes" ; then + EXTRA_CFLAGS="-mabi=n32" + LDFLAGS="-mabi=n32" + else + case $system in + IRIX-6.3) + # Use to build 6.2 compatible binaries on 6.3. + EXTRA_CFLAGS="-n32 -D_OLD_TERMIOS" + ;; + *) + EXTRA_CFLAGS="-n32" + ;; + esac + LDFLAGS="-n32" + fi + ;; + IRIX64-6.*) + SHLIB_CFLAGS="" + SHLIB_LD="ld -n32 -shared -rdata_shared" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + + # Check to enable 64-bit flags for compiler/linker + + if test "$do64bit" = "yes" ; then + if test "$GCC" = "yes" ; then + echo "configure: warning: 64bit mode not supported by gcc" 1>&2 + else + do64bit_ok=yes + SHLIB_LD="ld -64 -shared -rdata_shared" + EXTRA_CFLAGS="-64" + LDFLAGS="-64" + fi + fi + ;; + Linux*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + + # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings + # when you inline the string and math operations. Turn this off to + # get rid of the warnings. + + CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + + if test "$have_dl" = yes; then + SHLIB_LD="${CC} -shared" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="-rdynamic" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for dld.h""... $ac_c" 1>&6 +echo "configure:2791: checking for dld.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -choke me -#else -connect(); -#endif - -; return 0; } +#include EOF -if { (eval echo configure:1922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_func_connect=yes" + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_connect=no" + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi - -if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 - : + + SHLIB_LD="ld -shared" + DL_OBJS="tclLoadDld.o" + DL_LIBS="-ldld" + LDFLAGS="" + LD_SEARCH_FLAGS="" else echo "$ac_t""no" 1>&6 fi - if test $ac_cv_func_connect = no; then - echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:1943: checking for connect in -lsocket" >&5 -ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + fi + if test "`uname -m`" = "alpha" ; then + EXTRA_CFLAGS="-mieee" + fi + + # The combo of gcc + glibc has a bug related + # to inlining of functions like strtod(). The + # -fno-builtin flag should address this problem + # but it does not work. The -fno-inline flag + # is kind of overkill but it works. + # Disable inlining only when one of the + # files in compat/*.c is being linked in. + if test x"${LIBOBJS}" != x ; then + EXTRA_CFLAGS="${EXTRA_CFLAGS} -fno-inline" + fi + + ;; + GNU*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + + if test "$have_dl" = yes; then + SHLIB_LD="${CC} -shared" + DL_OBJS="" + DL_LIBS="-ldl" + LDFLAGS="-rdynamic" + LD_SEARCH_FLAGS="" + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for dld.h""... $ac_c" 1>&6 +echo "configure:2858: checking for dld.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < EOF -if { (eval echo configure:1962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* -LIBS="$ac_save_LIBS" - fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" + + SHLIB_LD="ld -shared" + DL_OBJS="" + DL_LIBS="-ldld" + LDFLAGS="" + LD_SEARCH_FLAGS="" else echo "$ac_t""no" 1>&6 fi - fi - - # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. - echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:1986: checking for remove" >&5 -if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then + fi + if test "`uname -m`" = "alpha" ; then + EXTRA_CFLAGS="-mieee" + fi + ;; + MP-RAS-02*) + SHLIB_CFLAGS="-K PIC" + SHLIB_LD="cc -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + MP-RAS-*) + SHLIB_CFLAGS="-K PIC" + SHLIB_LD="cc -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="-Wl,-Bexport" + LD_SEARCH_FLAGS="" + ;; + NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*) + # Not available on all versions: check for include file. + ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 +echo "configure:2923: checking for dlfcn.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) -choke me -#else -remove(); -#endif - -; return 0; } +#include EOF -if { (eval echo configure:2014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2933: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_func_remove=yes" + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_remove=no" + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + # NetBSD/SPARC needs -fPIC, -fpic will not do. + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="ld -Bshareable -x" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + echo $ac_n "checking for ELF""... $ac_c" 1>&6 +echo "configure:2960: checking for ELF" >&5 + cat > conftest.$ac_ext <&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* echo "$ac_t""yes" 1>&6 - : + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' else + rm -rf conftest* echo "$ac_t""no" 1>&6 + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' + fi +rm -f conftest* - if test $ac_cv_func_remove = no; then - echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:2035: checking for remove in -lposix" >&5 -ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + else - ac_save_LIBS="$LIBS" -LIBS="-lposix $LIBS" -cat > conftest.$ac_ext <&6 + + SHLIB_CFLAGS="" + SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".a" + DL_OBJS="tclLoadAout.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + +fi + + + # FreeBSD doesn't handle version numbers with dots. + + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + TCL_LIB_VERSIONS_OK=nodots + ;; + FreeBSD-*) + # FreeBSD 3.* and greater have ELF. + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="ld -Bshareable -x" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LDFLAGS="-export-dynamic" + LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + if test "${TCL_THREADS}" = "1" ; then + # The -pthread needs to go in the CFLAGS, not LIBS + LIBS=`echo $LIBS | sed s/-pthread//` + EXTRA_CFLAGS="-pthread" + LDFLAGS="$LDFLAGS -pthread" + fi + case $system in + FreeBSD-3.*) + # FreeBSD-3 doesn't handle version numbers with dots. + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots + ;; + esac + ;; + Rhapsody-*|Darwin-*) + SHLIB_CFLAGS="-fno-common" + SHLIB_LD="cc -dynamiclib \${LDFLAGS}" + TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".dylib" + DL_OBJS="tclLoadDyld.o" + DL_LIBS="" + LDFLAGS="-prebind" + LD_SEARCH_FLAGS="" + CFLAGS_OPTIMIZE="-O3" + EXTRA_CFLAGS="-arch ppc -pipe" + ;; + NEXTSTEP-*) + SHLIB_CFLAGS="" + SHLIB_LD="cc -nostdlib -r" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadNext.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + OS/390-*) + CFLAGS_OPTIMIZE="" # Optimizer is buggy + cat >> confdefs.h <<\EOF +#define _OE_SOCKETS 1 +EOF + # needed in sys/socket.h + ;; + OSF1-1.0|OSF1-1.1|OSF1-1.2) + # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 + SHLIB_CFLAGS="" + # Hack: make package name same as library name + SHLIB_LD='ld -R -export :' + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadOSF.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + OSF1-1.*) + # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 + SHLIB_CFLAGS="-fPIC" + if test "$SHARED_BUILD" = "1" ; then + SHLIB_LD="ld -shared" + else + SHLIB_LD="ld -non_shared" + fi + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + OSF1-V*) + # Digital OSF/1 + SHLIB_CFLAGS="" + if test "$SHARED_BUILD" = "1" ; then + SHLIB_LD='ld -shared -expect_unresolved "*"' + else + SHLIB_LD='ld -non_shared -expect_unresolved "*"' + fi + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' + if test "$GCC" != "yes" ; then + EXTRA_CFLAGS="-DHAVE_TZSET -std1" + fi + # see pthread_intro(3) for pthread support on osf1, k.furukawa + if test "${TCL_THREADS}" = "1" ; then + EXTRA_CFLAGS="${EXTRA_CFLAGS} -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" + EXTRA_CFLAGS="${EXTRA_CFLAGS} -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" + LIBS=`echo $LIBS | sed s/-lpthreads//` + if test "$GCC" = "yes" ; then + LIBS="$LIBS -lpthread -lmach -lexc" + else + EXTRA_CFLAGS="${EXTRA_CFLAGS} -pthread" + LDFLAGS="-pthread" + fi + fi + + ;; + QNX-6*) + # QNX RTP + # This may work for all QNX, but it was only reported for v6. + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="ld -Bshareable -x" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + # dlopen is in -lc on QNX + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + RISCos-*) + SHLIB_CFLAGS="-G 0" + SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".a" + DL_OBJS="tclLoadAout.o" + DL_LIBS="" + LDFLAGS="-Wl,-D,08000000" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + ;; + SCO_SV-3.2*) + # Note, dlopen is available only on SCO 3.2.5 and greater. However, + # this test works, since "uname -s" was non-standard in 3.2.4 and + # below. + if test "$GCC" = "yes" ; then + SHLIB_CFLAGS="-fPIC -melf" + LDFLAGS="-melf -Wl,-Bexport" + else + SHLIB_CFLAGS="-Kpic -belf" + LDFLAGS="-belf -Wl,-Bexport" + fi + SHLIB_LD="ld -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + LD_SEARCH_FLAGS="" + ;; + SINIX*5.4*) + SHLIB_CFLAGS="-K PIC" + SHLIB_LD="cc -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + LD_SEARCH_FLAGS="" + ;; + SunOS-4*) + SHLIB_CFLAGS="-PIC" + SHLIB_LD="ld" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + + # SunOS can't handle version numbers with dots in them in library + # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it + # requires an extra version number at the end of .so file names. + # So, the library has to have a name like libtcl75.so.1.0 + + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + TCL_LIB_VERSIONS_OK=nodots + ;; + SunOS-5.[0-6]*) + + # Note: If _REENTRANT isn't defined, then Solaris + # won't define thread-safe library routines. + + cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + cat >> confdefs.h <<\EOF +#define _POSIX_PTHREAD_SEMANTICS 1 +EOF + + + SHLIB_CFLAGS="-KPIC" + + # Note: need the LIBS below, otherwise Tk won't find Tcl's + # symbols when dynamically loaded into tclsh. + + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="" + if test "$GCC" = "yes" ; then + SHLIB_LD="$CC -shared" + LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' + else + SHLIB_LD="/usr/ccs/bin/ld -G -z text" + LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' + fi + ;; + SunOS-5*) + + # Note: If _REENTRANT isn't defined, then Solaris + # won't define thread-safe library routines. + + cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + cat >> confdefs.h <<\EOF +#define _POSIX_PTHREAD_SEMANTICS 1 +EOF + + + SHLIB_CFLAGS="-KPIC" + LDFLAGS="" + + # Check to enable 64-bit flags for compiler/linker + if test "$do64bit" = "yes" ; then + arch=`isainfo` + if test "$arch" = "sparcv9 sparc" ; then + if test "$GCC" = "yes" ; then + echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2 + else + do64bit_ok=yes + if test "$do64bitVIS" = "yes" ; then + EXTRA_CFLAGS="-xarch=v9a" + LDFLAGS="-xarch=v9a" + else + EXTRA_CFLAGS="-xarch=v9" + LDFLAGS="-xarch=v9" + fi + fi + else + echo "configure: warning: "64bit mode only supported sparcv9 system"" 1>&2 + fi + fi + + # Note: need the LIBS below, otherwise Tk won't find Tcl's + # symbols when dynamically loaded into tclsh. + + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + if test "$GCC" = "yes" ; then + SHLIB_LD="$CC -shared" + LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' + else + SHLIB_LD="/usr/ccs/bin/ld -G -z text" + LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' + fi + ;; + ULTRIX-4.*) + SHLIB_CFLAGS="-G 0" + SHLIB_SUFFIX=".a" + SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" + SHLIB_LD_LIBS='${LIBS}' + DL_OBJS="tclLoadAout.o" + DL_LIBS="" + LDFLAGS="-Wl,-D,08000000" + LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' + if test "$GCC" != "yes" ; then + EXTRA_CFLAGS="-DHAVE_TZSET -std1" + fi + ;; + UNIX_SV* | UnixWare-5*) + SHLIB_CFLAGS="-KPIC" + SHLIB_LD="cc -G" + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers + # that don't grok the -Bexport option. Test that it does. + hold_ldflags=$LDFLAGS + echo $ac_n "checking for ld accepts -Bexport flag""... $ac_c" 1>&6 +echo "configure:3297: checking for ld accepts -Bexport flag" >&5 + LDFLAGS="${LDFLAGS} -Wl,-Bexport" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + found=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + found=no fi rm -f conftest* -LIBS="$ac_save_LIBS" + LDFLAGS=$hold_ldflags + echo "$ac_t""$found" 1>&6 + if test $found = yes; then + LDFLAGS="-Wl,-Bexport" + else + LDFLAGS="" + fi + LD_SEARCH_FLAGS="" + ;; + esac + + if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then + echo "configure: warning: "64bit support being disabled -- don\'t know magic for this platform"" 1>&2 + fi + # Step 4: If pseudo-static linking is in use (see K. B. Kenny, "Dynamic + # Loading for Tcl -- What Became of It?". Proc. 2nd Tcl/Tk Workshop, + # New Orleans, LA, Computerized Processes Unlimited, 1994), then we need + # to determine which of several header files defines the a.out file + # format (a.out.h, sys/exec.h, or sys/exec_aout.h). At present, we + # support only a file format that is more or less version-7-compatible. + # In particular, + # - a.out files must begin with `struct exec'. + # - the N_TXTOFF on the `struct exec' must compute the seek address + # of the text segment + # - The `struct exec' must contain a_magic, a_text, a_data, a_bss + # and a_entry fields. + # The following compilation should succeed if and only if either sys/exec.h + # or a.out.h is usable for the purpose. + # + # Note that the modified COFF format used on MIPS Ultrix 4.x is usable; the + # `struct exec' includes a second header that contains information that + # duplicates the v7 fields that are needed. + + if test "x$DL_OBJS" = "xtclLoadAout.o" ; then + echo $ac_n "checking sys/exec.h""... $ac_c" 1>&6 +echo "configure:3353: checking sys/exec.h" >&5 + cat > conftest.$ac_ext < +int main() { + + struct exec foo; + unsigned long seek; + int flag; +#if defined(__mips) || defined(mips) + seek = N_TXTOFF (foo.ex_f, foo.ex_o); +#else + seek = N_TXTOFF (foo); +#endif + flag = (foo.a_magic == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; + +; return 0; } +EOF +if { (eval echo configure:3373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + tcl_ok=unusable fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +rm -f conftest* + echo "$ac_t""$tcl_ok" 1>&6 + if test $tcl_ok = usable; then + cat >> confdefs.h <<\EOF +#define USE_SYS_EXEC_H 1 +EOF + + else + echo $ac_n "checking a.out.h""... $ac_c" 1>&6 +echo "configure:3391: checking a.out.h" >&5 + cat > conftest.$ac_ext < +int main() { + + struct exec foo; + unsigned long seek; + int flag; +#if defined(__mips) || defined(mips) + seek = N_TXTOFF (foo.ex_f, foo.ex_o); +#else + seek = N_TXTOFF (foo); +#endif + flag = (foo.a_magic == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; + +; return 0; } +EOF +if { (eval echo configure:3411: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + tcl_ok=unusable +fi +rm -f conftest* + echo "$ac_t""$tcl_ok" 1>&6 + if test $tcl_ok = usable; then + cat >> confdefs.h <<\EOF +#define USE_A_OUT_H 1 +EOF + + else + echo $ac_n "checking sys/exec_aout.h""... $ac_c" 1>&6 +echo "configure:3429: checking sys/exec_aout.h" >&5 + cat > conftest.$ac_ext < +int main() { + + struct exec foo; + unsigned long seek; + int flag; +#if defined(__mips) || defined(mips) + seek = N_TXTOFF (foo.ex_f, foo.ex_o); +#else + seek = N_TXTOFF (foo); +#endif + flag = (foo.a_midmag == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; + +; return 0; } +EOF +if { (eval echo configure:3449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + tcl_ok=unusable +fi +rm -f conftest* + echo "$ac_t""$tcl_ok" 1>&6 + if test $tcl_ok = usable; then + cat >> confdefs.h <<\EOF +#define USE_SYS_EXEC_AOUT_H 1 +EOF + + else + DL_OBJS="" + fi + fi + fi + fi + + # Step 5: disable dynamic loading if requested via a command-line switch. + + # Check whether --enable-load or --disable-load was given. +if test "${enable_load+set}" = set; then + enableval="$enable_load" + tcl_ok=$enableval +else + tcl_ok=yes +fi + + if test "$tcl_ok" = "no"; then + DL_OBJS="" + fi + + if test "x$DL_OBJS" != "x" ; then + BUILD_DLTEST="\$(DLTEST_TARGETS)" + else + echo "Can't figure out how to do dynamic loading or shared libraries" + echo "on this system." + SHLIB_CFLAGS="" + SHLIB_LD="" + SHLIB_SUFFIX="" + DL_OBJS="tclLoadNone.o" + DL_LIBS="" + LDFLAGS="" + LD_SEARCH_FLAGS="" + BUILD_DLTEST="" + fi + + # If we're running gcc, then change the C flags for compiling shared + # libraries to the right flags for gcc, instead of those for the + # standard manufacturer compiler. + + if test "$DL_OBJS" != "tclLoadNone.o" ; then + if test "$GCC" = "yes" ; then + case $system in + AIX-*) + ;; + BSD/OS*) + ;; + IRIX*) + ;; + NetBSD-*|FreeBSD-*|OpenBSD-*) + ;; + Rhapsody-*|Darwin-*) + ;; + RISCos-*) + ;; + SCO_SV-3.2*) + ;; + ULTRIX-4.*) + ;; + windows) + if test "$MINGW32" != "yes"; then + SHLIB_CFLAGS="-fPIC" + fi + ;; + *) + SHLIB_CFLAGS="-fPIC" + ;; + esac + fi + fi + + if test "$SHARED_LIB_SUFFIX" = "" ; then + SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}${SHLIB_SUFFIX}' + fi + if test "$UNSHARED_LIB_SUFFIX" = "" ; then + UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + fi + + + + + + + + SHLIB_LDFLAGS='$(LDFLAGS_DEFAULT)' + + + + + + + + + +#-------------------------------------------------------------------- +# Set the default compiler switches based on the --enable-symbols option. +#-------------------------------------------------------------------- + + if test x"${TEA_INITED}" = x ; then + # Can't refer to exact macro name or it will be substituted + { echo "configure: error: Must call TEA INIT before ENABLE_SYMBOLS" 1>&2; exit 1; } + fi + + if test "${TEA_PLATFORM}" = "windows" ; then + tcl_dbgx=d + else + tcl_dbgx=g + fi + + echo $ac_n "checking for build with symbols""... $ac_c" 1>&6 +echo "configure:3575: checking for build with symbols" >&5 + # Check whether --enable-symbols or --disable-symbols was given. +if test "${enable_symbols+set}" = set; then + enableval="$enable_symbols" + tcl_ok=$enableval +else + tcl_ok=no fi + if test "$tcl_ok" = "no"; then + CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)' + LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)' + DBGX="" + TCL_DBGX="" + echo "$ac_t""no" 1>&6 + else + CFLAGS_DEFAULT='$(CFLAGS_DEBUG)' + LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)' + DBGX=${tcl_dbgx} + TCL_DBGX=${tcl_dbgx} + if test "$tcl_ok" = "yes"; then + echo "$ac_t""yes (standard debugging)" 1>&6 + fi fi - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:2078: checking for shmat" >&5 -if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then + + + + + if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then + cat >> confdefs.h <<\EOF +#define TCL_MEM_DEBUG 1 +EOF + + fi + + if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then + if test "$tcl_ok" = "all"; then + echo "$ac_t""enabled symbols mem debugging" 1>&6 + else + echo "$ac_t""enabled $tcl_ok debugging" 1>&6 + fi + fi + + +#-------------------------------------------------------------------- +# For Unix/Tk builds, make sure that the X libraries/headers are found. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- + + if test "${TEA_PLATFORM}" = "unix" ; then + + # If we find X, set shell vars x_includes and x_libraries to the +# paths, otherwise set no_x=yes. +# Uses ac_ vars as temps to allow command line to override cache and checks. +# --without-x overrides everything else, but does not touch the cache. +echo $ac_n "checking for X""... $ac_c" 1>&6 +echo "configure:3632: checking for X" >&5 + +# Check whether --with-x or --without-x was given. +if test "${with_x+set}" = set; then + withval="$with_x" + : +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then + # Both variables are already set. + have_x=yes + else +if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < Imakefile <<'EOF' +acfindx: + @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' +EOF + if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl; do + if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && + test -f $ac_im_libdir/libX11.$ac_extension; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case "$ac_im_incroot" in + /usr/include) ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; + esac + case "$ac_im_usrlibdir" in + /usr/lib | /lib) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; + esac + fi + cd .. + rm -fr conftestdir +fi + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:3699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + # We can compile using X headers with no special include directory. +ac_x_includes= +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + # Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done +fi +rm -f conftest* +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat(); int main() { +${x_direct_test_function}() +; return 0; } +EOF +if { (eval echo configure:3775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries= +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ + /usr/X11/lib \ + /usr/X11R6/lib \ + /usr/X11R5/lib \ + /usr/X11R4/lib \ + \ + /usr/lib/X11 \ + /usr/lib/X11R6 \ + /usr/lib/X11R5 \ + /usr/lib/X11R4 \ + \ + /usr/local/X11/lib \ + /usr/local/X11R6/lib \ + /usr/local/X11R5/lib \ + /usr/local/X11R4/lib \ + \ + /usr/local/lib/X11 \ + /usr/local/lib/X11R6 \ + /usr/local/lib/X11R5 \ + /usr/local/lib/X11R4 \ + \ + /usr/X386/lib \ + /usr/x386/lib \ + /usr/XFree86/lib/X11 \ + \ + /usr/lib \ + /usr/local/lib \ + /usr/unsupported/lib \ + /usr/athena/lib \ + /usr/local/x11r5/lib \ + /usr/lpp/Xamples/lib \ + /lib/usr/lib/X11 \ + \ + /usr/openwin/lib \ + /usr/openwin/share/lib \ + ; \ +do + for ac_extension in a so sl; do + if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f conftest* +fi # $ac_x_libraries = NO -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) -choke me -#else -shmat(); -#endif +if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then + # Didn't find X anywhere. Cache the known absence of X. + ac_cv_have_x="have_x=no" +else + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" +fi +fi + fi + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + echo "$ac_t""$have_x" 1>&6 + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$x_includes ac_x_libraries=$x_libraries" + echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 +fi -; return 0; } + not_really_there="" + if test "$no_x" = ""; then + if test "$x_includes" = ""; then + cat > conftest.$ac_ext < EOF -if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_shmat=yes" +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:3870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_shmat=no" + not_really_there="yes" fi rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then - echo "$ac_t""yes" 1>&6 + else + if test ! -r $x_includes/X11/Intrinsic.h; then + not_really_there="yes" + fi + fi + fi + if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then + echo $ac_n "checking for X11 header files""... $ac_c" 1>&6 +echo "configure:3890: checking for X11 header files" >&5 + XINCLUDES="# no special path needed" + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:3898: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then : else - echo "$ac_t""no" 1>&6 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + XINCLUDES="nope" fi +rm -f conftest* + if test "$XINCLUDES" = nope; then + dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include" + for i in $dirs ; do + if test -r $i/X11/Intrinsic.h; then + echo "$ac_t""$i" 1>&6 + XINCLUDES=" -I$i" + break + fi + done + fi + else + if test "$x_includes" != ""; then + XINCLUDES=-I$x_includes + else + XINCLUDES="# no special path needed" + fi + fi + if test "$XINCLUDES" = nope; then + echo "$ac_t""could not find any!" 1>&6 + XINCLUDES="# no include files found" + fi - if test $ac_cv_func_shmat = no; then - echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:2127: checking for shmat in -lipc" >&5 -ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` + if test "$no_x" = yes; then + echo $ac_n "checking for X11 libraries""... $ac_c" 1>&6 +echo "configure:3934: checking for X11 libraries" >&5 + XLIBSW=nope + dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib" + for i in $dirs ; do + if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then + echo "$ac_t""$i" 1>&6 + XLIBSW="-L$i -lX11" + x_libraries="$i" + break + fi + done + else + if test "$x_libraries" = ""; then + XLIBSW=-lX11 + else + XLIBSW="-L$x_libraries -lX11" + fi + fi + if test "$XLIBSW" = nope ; then + echo $ac_n "checking for XCreateWindow in -lXwindow""... $ac_c" 1>&6 +echo "configure:3954: checking for XCreateWindow in -lXwindow" >&5 +ac_lib_var=`echo Xwindow'_'XCreateWindow | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lipc $LIBS" +LIBS="-lXwindow $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2157,308 +3984,414 @@ LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" + XLIBSW=-lXwindow else echo "$ac_t""no" 1>&6 fi fi - fi + if test "$XLIBSW" = nope ; then + echo "$ac_t""could not find any! Using -lX11." 1>&6 + XLIBSW=-lX11 + fi + if test x"${XLIBSW}" != x ; then + LIBS="${LIBS} ${XLIBSW}" + fi - # Check for libraries that X11R6 Xt/Xaw programs need. - ac_save_LDFLAGS="$LDFLAGS" - test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" - # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to - # check for ICE first), but we must link in the order -lSM -lICE or - # we get undefined symbols. So assume we have SM if we have ICE. - # These have to be linked with before -lX11, unlike the other - # libraries we check for below, so use a different variable. - # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. - echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:2179: checking for IceConnectionNumber in -lICE" >&5 -ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +#-------------------------------------------------------------------- +# This sets the tesselation library name and adjust LIBS to +# include this library. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + Tess_LIB_FILE=tess.lib else - echo "$ac_t""no" 1>&6 + Tess_LIB_FILE=libtess.a fi +LIBS="${LIBS} -L. -ltess" + + +#-------------------------------------------------------------------- +# Tkzinc is always linked against the tcl and tk stubs libraries +#-------------------------------------------------------------------- +cat >> confdefs.h <<\EOF +#define USE_TCL_STUBS 1 +EOF + +cat >> confdefs.h <<\EOF +#define USE_TK_STUBS 1 +EOF + + +#-------------------------------------------------------------------- +# This macro generates a line to use when building a library. It +# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, +# and TEA_LOAD_TCLCONFIG macros above. +#-------------------------------------------------------------------- + + if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then + MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)_OBJECTS)" + MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\$@ \$(\$(PACKAGE)_OBJECTS)" + MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)stub_OBJECTS)" + else + MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)_OBJECTS)" + MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$(PACKAGE)_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}" + MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)stub_OBJECTS)" + fi + + if test "${SHARED_BUILD}" = "1" ; then + MAKE_LIB="${MAKE_SHARED_LIB} " + else + MAKE_LIB="${MAKE_STATIC_LIB} " + fi + + #-------------------------------------------------------------------- + # Shared libraries and static libraries have different names. + # Use the double eval to make sure the ${DBGX} in the suffix is + # substituted. + #-------------------------------------------------------------------- + + if test "${TEA_PLATFORM}" = "windows" ; then + if test "${SHARED_BUILD}" = "1" ; then + # We force the unresolved linking of symbols that are really in + # the private libraries of Tcl and Tk. + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\"" + if test x"${TK_BIN_DIR}" != x ; then + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" + fi + eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${SHARED_LIB_SUFFIX}" + RANLIB=: + else + eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${UNSHARED_LIB_SUFFIX}" + fi + # Some packages build there own stubs libraries + eval eval "${PACKAGE}stub_LIB_FILE=${PACKAGE}stub${UNSHARED_LIB_SUFFIX}" + else + if test "${SHARED_BUILD}" = "1" ; then + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" + if test x"${TK_BIN_DIR}" != x ; then + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" + fi + eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${SHARED_LIB_SUFFIX}" + RANLIB=: + else + eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${UNSHARED_LIB_SUFFIX}" + fi + # Some packages build there own stubs libraries + eval eval "${PACKAGE}stub_LIB_FILE=lib${PACKAGE}stub${UNSHARED_LIB_SUFFIX}" + fi + + # These are escaped so that only CFLAGS is picked up at configure time. + # The other values will be substituted at make time. + CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}" + if test "${SHARED_BUILD}" = "1" ; then + CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}" + fi + + + + + - LDFLAGS="$ac_save_LDFLAGS" +#-------------------------------------------------------------------- +# Add platform libs to LIBS or SHLIB_LD_LIBS as necessary. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + LIBS="${LIBS} -lgdi32 -luser32 -lwsock32" fi +#SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -lxxxx" +#-------------------------------------------------------------------- +# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl +# file during the install process. Don't run the TCLSH_PROG through +# ${CYGPATH} because it's being used directly by make. +# Require that we use a tclsh shell version 8.2 or later since earlier +# versions have bugs in the pkg_mkIndex routine. +# Add WISH as well since Tkzinc is a Tk extension. +#-------------------------------------------------------------------- -# -# Add any user supplied library directories to the X flags -# -ac_setup_local_x_libs_msg="Add the correct path to LOCAL_X_LIBS," -ac_retry_msg="and run configure again." -test -n "$LOCAL_X_LIBS" && LOCAL_X_LIBS="-L$LOCAL_X_LIBS" + echo $ac_n "checking for tclsh""... $ac_c" 1>&6 +echo "configure:4118: checking for tclsh" >&5 -# -# We need to setup CFLAGS to suppress -g flags which will prevent the linker -# from finding the libraries. -# We need to setup LDFLAGS to add the libraries paths. -# -TMP_LDFLAGS=$LDFLAGS -TMP_CFLAGS=$CFLAGS -TMP_LIBS=$LIBS -LDFLAGS="$LDFLAGS $X_LIBS $LOCAL_X_LIBS" -CFLAGS="" -LIBS="-lX11 $X_EXTRA_LIBS" -this_is_not_ok="" -XPM="" -echo $ac_n "checking for main in -lXpm""... $ac_c" 1>&6 -echo "configure:2244: checking for main in -lXpm" >&5 -ac_lib_var=`echo Xpm'_'main | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lXpm $LIBS" -cat > conftest.$ac_ext < /dev/null` \ + `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do + if test x"$ac_cv_path_tclsh" = x ; then + if test -f "$j" ; then + ac_cv_path_tclsh=$j + break + fi + fi + done + done + +fi -int main() { -main() -; return 0; } -EOF -if { (eval echo configure:2259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + + if test -f "$ac_cv_path_tclsh" ; then + TCLSH_PROG=$ac_cv_path_tclsh + echo "$ac_t""$TCLSH_PROG" 1>&6 + else + { echo "configure: error: No tclsh found in PATH: $search_path" 1>&2; exit 1; } + fi + + + + echo $ac_n "checking for wish""... $ac_c" 1>&6 +echo "configure:4150: checking for wish" >&5 + + if eval "test \"`echo '$''{'ac_cv_path_wish'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + + search_path=`echo ${TK_BIN_DIR}:${TK_BIN_DIR}/../bin:${TCL_BIN_DIR}:${TCL_BIN_DIR}/../bin:${exec_prefix}/bin:${prefix}/bin:${PATH} | sed -e 's/:/ /g'` + for dir in $search_path ; do + for j in `ls -r $dir/wish[8-9]*${EXEEXT} 2> /dev/null` \ + `ls -r $dir/wish*${EXEEXT} 2> /dev/null` ; do + if test x"$ac_cv_path_wish" = x ; then + if test -f "$j" ; then + ac_cv_path_wish=$j + break + fi + fi + done + done + fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - XPM="-lXpm" + + if test -f "$ac_cv_path_wish" ; then + WISH_PROG=$ac_cv_path_wish + echo "$ac_t""$WISH_PROG" 1>&6 + else + { echo "configure: error: No wish found in PATH: $search_path" 1>&2; exit 1; } + fi + + + +#-------------------------------------------------------------------- +# Define the SHAPE symbol to control the X shape extension support. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- + + if test x"${TEA_INITED}" = x ; then + { echo "configure: error: Must call TEA INIT before ENABLE_SHAPE" 1>&2; exit 1; } + fi + echo $ac_n "checking for build with X shape support""... $ac_c" 1>&6 +echo "configure:4190: checking for build with X shape support" >&5 + # Check whether --enable-shape or --disable-shape was given. +if test "${enable_shape+set}" = set; then + enableval="$enable_shape" + tcl_ok=$enableval else - echo "$ac_t""no" 1>&6 -echo "-lXpm not found," - echo $ac_setup_local_x_libs_msg - echo $ac_retry_msg - this_is_not_ok="1" + tcl_ok=yes fi -TMP_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS -I $x_includes" -for ac_hdr in X11/xpm.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2289: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < + if test "$tcl_ok" = "no"; then + echo "$ac_t""no" 1>&6 + else + if test "${TEA_PLATFORM}" = "windows" ; then + echo "$ac_t""no (not available on windows)" 1>&6 + else + cat >> confdefs.h <<\EOF +#define SHAPE 1 EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2299: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + + echo "$ac_t""yes" 1>&6 + LIBS="${LIBS} -lXext" + fi + fi + + +#-------------------------------------------------------------------- +# Adjust the library set based on --enable-gl option. Define also +# the GL and GL_DAMAGE symbols to configure the code. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- + + if test x"${TEA_INITED}" = x ; then + { echo "configure: error: Must call TEA INIT before ENABLE_GL" 1>&2; exit 1; } + fi + + echo $ac_n "checking for build with GL""... $ac_c" 1>&6 +echo "configure:4226: checking for build with GL" >&5 + # Check whether --enable-gl or --disable-gl was given. +if test "${enable_gl+set}" = set; then + enableval="$enable_gl" + tcl_ok=$enableval else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* + tcl_ok=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 + else + if test "${TEA_PLATFORM}" = "windows" ; then + GL_LIBS=-lopengl32 + else + # + # On Linux, the Nvidia GL libraries needs threads support via + # pthreads but not mesa. Need to auto-detect that and the + # availability of pthreads. + GL_LIBS="-lGL -lpthread" +# GL_LIBS="-lGL" + GL_INCLUDES='/usr/include' + fi + + cat >> confdefs.h <<\EOF +#define GL 1 EOF - -else - echo "$ac_t""no" 1>&6 -fi -done -CPPFLAGS=$TMP_CPPFLAGS + if test "$tcl_ok" = "damage"; then + cat >> confdefs.h <<\EOF +#define GL_DAMAGE 1 +EOF -LIBS="-lXext -lX11 $X_EXTRA_LIBS" + fi -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2330: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&6 + else + echo "$ac_t""yes (with damage support)" 1>&6 + fi + fi -/* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x = {0,0}; -/* SunOS 4.1.1 cc rejects this. */ -char const *const *ccp; -char **p; -/* NEC SVR4.0.2 mips cc rejects this. */ -struct point {int x, y;}; -static struct point const zero = {0,0}; -/* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in an arm - of an if-expression whose if-part is not a constant expression */ -const char *g = "string"; -ccp = &g + (g ? g-g : 0); -/* HPUX 7.0 cc rejects these. */ -++ccp; -p = (char**) ccp; -ccp = (char const *const *) p; -{ /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -} -{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; -} -{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; -} -{ /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} + + -; return 0; } -EOF -if { (eval echo configure:2384: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes + +#-------------------------------------------------------------------- +# Define the OM symbol to control inclusion of the overlap manager +# support. +#-------------------------------------------------------------------- + + if test x"${TEA_INITED}" = x ; then + { echo "configure: error: Must call TEA INIT before ENABLE_OM" 1>&2; exit 1; } + fi + + echo $ac_n "checking for build with the overlap manager""... $ac_c" 1>&6 +echo "configure:4287: checking for build with the overlap manager" >&5 + # Check whether --enable-om or --disable-om was given. +if test "${enable_om+set}" = set; then + enableval="$enable_om" + tcl_ok=$enableval else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* + tcl_ok=yes fi -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const + if test "$tcl_ok" = "no"; then + Om_LIB_FILE= + echo "$ac_t""no" 1>&6 + else + if test "${TEA_PLATFORM}" = "windows" ; then + Om_LIB_FILE=om.dll + else + Om_LIB_FILE=libom.so + fi + cat >> confdefs.h <<\EOF +#define OM 1 EOF -fi + echo "$ac_t""yes" 1>&6 + LIBS="${LIBS} -L. -lom" + fi + + + +#-------------------------------------------------------------------- +# Define the PTK symbol to control whether zinc is built for Tk or +# for perl/Tk. +#-------------------------------------------------------------------- -if test "x$CC" != xcc; then - echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6 -echo "configure:2406: checking whether $CC and cc understand -c and -o together" >&5 + echo $ac_n "checking for build with perl/Tk support""... $ac_c" 1>&6 +echo "configure:4321: checking for build with perl/Tk support" >&5 + # Check whether --enable-ptk or --disable-ptk was given. +if test "${enable_ptk+set}" = set; then + enableval="$enable_ptk" + tcl_ok=$enableval else - echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6 -echo "configure:2409: checking whether cc understands -c and -o together" >&5 + tcl_ok=no fi -set dummy $CC; ac_cc="`echo $2 | - sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`" -if eval "test \"`echo '$''{'ac_cv_prog_cc_${ac_cc}_c_o'+set}'`\" = set"; then + + if test "$tcl_ok" = "no"; then + PERL_TK_LIB= + echo "$ac_t""no" 1>&6 + else + # + # Locate the perl hierarchy and the corresponding perl/tk. + # + for ac_prog in perl +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:4342: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - echo 'foo(){}' > conftest.c -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5' -if { (eval echo configure:2421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && - test -f conftest.o && { (eval echo configure:2422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:2427: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then - ac_try='cc -c conftest.c -o conftest.o 1>&5' - if { (eval echo configure:2429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && - test -f conftest.o && { (eval echo configure:2430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi + if test -n "$PERL"; then + ac_cv_prog_PERL="$PERL" # Let the user override the test. else - eval ac_cv_prog_cc_${ac_cc}_c_o=no + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_PERL="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" fi -rm -f conftest* - fi -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then - echo "$ac_t""yes" 1>&6 +PERL="$ac_cv_prog_PERL" +if test -n "$PERL"; then + echo "$ac_t""$PERL" 1>&6 else echo "$ac_t""no" 1>&6 - cat >> confdefs.h <<\EOF -#define NO_MINUS_C_MINUS_O 1 -EOF - fi +test -n "$PERL" && break +done +test -n "$PERL" || PERL="error" + + PERL_TK_LIB=`perl -MTk -e 'print $Tk::library'` + + + # + # Don't use stubs libraries with perl/Tk. + # Don't use either the includes from Tcl/Tk. + SHLIB_LD_LIBS="\${LIBS}" + TCL_INCLUDES= + TK_INCLUDES=-I${PERL_TK_LIB}/pTk + cat >> confdefs.h <<\EOF +#define PTK 1 +EOF + echo "$ac_t""yes" 1>&6 + fi + - - +#-------------------------------------------------------------------- +# Finally, substitute all of the various values into the Makefile. +# Add other files needing substitution after Makefile. +#-------------------------------------------------------------------- trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -2522,7 +4455,19 @@ fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -DEFS=-DHAVE_CONFIG_H +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} @@ -2560,7 +4505,7 @@ done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "Makefile Python/Zinc.py Perl/Makefile.PL" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then @@ -2720,113 +4724,6 @@ s%@INSTALL@%$INSTALL%g fi; done rm -f conftest.s* -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - EOF cat >> $CONFIG_STATUS <dnl dnl Process this file with autoconf to produce a configure script. -AC_INIT(tkZinc.c) - -dnl builtin([include],acplcaux.m4) -# -# This one is for testing purposes +dnl autoconf 2.13 should work fine. However autoconf >= 2.53 and +dnl perhaps versions in between (2.50 and 2.52) are not directly usuable. +dnl +dnl +dnl This configure.in is derived from the Sample TEA template which is: +dnl +dnl Copyright (c) 1999 Scriptics Corporation. +dnl Copyright (c) 2002 ActiveState SRL. +dnl +dnl +dnl $Id$ + +#----------------------------------------------------------------------- +# Check the source path of the package +#----------------------------------------------------------------------- +AC_INIT + +#----------------------------------------------------------------------- +# Setup the CONFIGDIR to the path of the directory containing the +# configuration files +#----------------------------------------------------------------------- +AC_CONFIG_AUX_DIR(tclconfig) +CONFIGDIR=${srcdir}/tclconfig +AC_SUBST(CONFIGDIR) + +#----------------------------------------------------------------------- +# Define the PACKAGE variable +#-------------------------------------------------------------------- +PACKAGE=Tkzinc + +#-------------------------------------------------------------------- +# Call TEA_INIT as the first TEA_ macro to set up initial vars. +# This will define a ${TEA_PLATFORM} variable == "unix" or "windows". # -dnl ac_compile='echo ${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS; ${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS' -dnl ac_link='echo ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS; ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS' - -AC_CONFIG_HEADER(config.h) - -AC_PROG_CC -AC_CHECK_PROGS(PERL, perl, error) -changequote() -INSTALLARCHLIB=`perl -MConfig -e 'print $Config{installarchlib}'` -TKLIB=`perl -MTk -e 'print $Tk::library'` -INSTALLPRIVLIB=`perl -MConfig -e 'print $Config{installprivlib}'` -INSTALLMAN1DIR=`perl -MConfig -e 'print $Config{installman1dir}'` -INSTALLMAN3DIR=`perl -MConfig -e 'print $Config{installman3dir}'` -changequote([, ]) - -AC_SUBST(INSTALLARCHLIB) -AC_SUBST(TKLIB) -AC_SUBST(INSTALLPRIVLIB) -AC_SUBST(INSTALLMAN1DIR) -AC_SUBST(INSTALLMAN3DIR) - - -dnl for shared library stuff -# extract version information -changequote() -ZINC_VER=`sed -n -e 's/#define ZINCVER.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_MAJOR=`sed -n -e 's/#define ZINCREV.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_VERSION=`sed -n -e 's/#define ZINCVERSION.*\([0-9][a-z][0-9]\).*/\1/p' patchlvl.h` -changequote([, ]) -AC_SUBST(ZINC_VER) -AC_SUBST(ZINC_MAJOR) -AC_SUBST(ZINC_VERSION) - -builtin([include],acaux.m4) -AC_SYS_SHAREDLIB - -AC_PROG_INSTALL -AC_PROG_CPP -AC_PROG_RANLIB -AC_ISC_POSIX -AC_STDC_HEADERS -AC_CHECK_HEADERS(values.h stddef.h stdarg.h limits.h strings.h string.h) -AC_CHECK_HEADERS(unistd.h memory.h stdlib.h) -AC_CHECK_HEADERS(sys/types.h sys/time.h sys/timeb.h sys/times.h) -AC_CHECK_FUNCS(gettimeofday) - - -AC_PATH_XTRA +# Keep it here we will need ${TEA_PLATFORM} soon. +#-------------------------------------------------------------------- +TEA_INIT +#----------------------------------------------------------------------- +# Define the VERSION variable # -# Add any user supplied library directories to the X flags +# VERSION is constructed from MAJOR_VERSION, MINOR_VERSION and +# PATCHLEVEL. The windows variant does not containt a dot. +#----------------------------------------------------------------------- +MAJOR_VERSION=3 +MINOR_VERSION=2 +PATCHLEVEL=90 + +VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCHLEVEL} + +AC_SUBST(VERSION) +AC_SUBST(PACKAGE) +AC_SUBST(Tkzinc_LIB_FILE) +AC_SUBST(Tkzincstub_LIB_FILE) + +#-------------------------------------------------------------------- +# This define a preprocessor macro -DVERSION=3.2.6i to include +# the package version in the sources. +#-------------------------------------------------------------------- +eval AC_DEFINE_UNQUOTED(VERSION, "${VERSION}") + +#-------------------------------------------------------------------- +# Load the tclConfig.sh file +#-------------------------------------------------------------------- +TEA_PATH_TCLCONFIG +TEA_LOAD_TCLCONFIG + +#-------------------------------------------------------------------- +# Load the tkConfig.sh file +#-------------------------------------------------------------------- +TEA_PATH_TKCONFIG +TEA_LOAD_TKCONFIG + +#----------------------------------------------------------------------- +# Handle the --prefix=... option by defaulting to what Tcl gave. +# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. +#----------------------------------------------------------------------- +TEA_PREFIX + +#----------------------------------------------------------------------- +# Standard compiler checks. +# This sets up CC by using the CC env var, or looks for gcc otherwise. +# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create +# the basic setup necessary to compile executables. +#----------------------------------------------------------------------- +TEA_SETUP_COMPILER +AC_CYGWIN +AC_MINGW32 + +#-------------------------------------------------------------------- +# Choose which headers you need. Extension authors should try very +# hard to only rely on the Tcl public header files. Internal headers +# contain private data structures and are subject to change without +# notice. +# This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG # -ac_setup_local_x_libs_msg="Add the correct path to LOCAL_X_LIBS," -ac_retry_msg="and run configure again." -test -n "$LOCAL_X_LIBS" && LOCAL_X_LIBS="-L$LOCAL_X_LIBS" - +# Sorry but zinc needs the internal functionality provided by Tk +# even if this is less convenient and secure. +#-------------------------------------------------------------------- +TEA_PRIVATE_TCL_HEADERS +TEA_PRIVATE_TK_HEADERS + +#-------------------------------------------------------------------- +# A few miscellaneous platform-specific items: +# +# Define the special symbol BUILD_Tkzinc for Windows so +# that we create the export library with the dll. # -# We need to setup CFLAGS to suppress -g flags which will prevent the linker -# from finding the libraries. -# We need to setup LDFLAGS to add the libraries paths. +# Windows creates a few extra files that need to be cleaned up. # -TMP_LDFLAGS=$LDFLAGS -TMP_CFLAGS=$CFLAGS -TMP_LIBS=$LIBS -LDFLAGS="$LDFLAGS $X_LIBS $LOCAL_X_LIBS" -CFLAGS="" -LIBS="-lX11 $X_EXTRA_LIBS" -this_is_not_ok="" -XPM="" -AC_CHECK_LIB(Xpm, main, - [XPM="-lXpm"], - [echo "-lXpm not found," - echo $ac_setup_local_x_libs_msg - echo $ac_retry_msg - this_is_not_ok="1"]) -TMP_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS -I $x_includes" -AC_CHECK_HEADERS(X11/xpm.h) -CPPFLAGS=$TMP_CPPFLAGS - -LIBS="-lXext -lX11 $X_EXTRA_LIBS" - -AC_CONST -AC_MINUS_C_MINUS_O - -AC_SUBST(XPM) -AC_SUBST(XMU) -AC_SUBST(LOCAL_X_LIBS) -AC_SUBST(CFLAGS) -AC_SUBST(LDFLAGS) - -AC_OUTPUT(Makefile) +# Define any extra compiler flags in the PACKAGE_CFLAGS variable. +# These will be appended to the current set of compiler flags for +# your system. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + AC_DEFINE(BUILD_Tkzinc) + CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch" + EXTRA_SOURCES='$(WIN_SOURCES)' +else + CLEANFILES="pkgIndex.tcl" + EXTRA_SOURCES='$(UNIX_SOURCES)' +fi +CLEANFILES="${CLEANFILES} doc/*.dvi doc/*.aux doc/*.idx doc/*.ilg doc/*.ind" +CLEANFILES="${CLEANFILES} doc/*.lof doc/*.log doc/*.out doc/*.toc doc/*.tpt" +CLEANFILES="${CLEANFILES} doc/refman doc/refman.pdf" +CLEANFILES="${CLEANFILES} Perl/Zinc.o Perl/Zinc.c Perl/Zinc.bs Perl/blib" +CLEANFILES="${CLEANFILES} Perl/pm_to_blib Perl/Makefile Perl/Makefile.PL" +CLEANFILES="${CLEANFILES} Perl/debug/Makefile Perl/debug/pm_to_blib Perl/debug/blib" +CLEANFILES="${CLEANFILES} Perl/demos/Makefile Perl/demos/pm_to_blib Perl/demos/blib" +CLEANFILES="${CLEANFILES} Python/Zinc.py" + +AC_SUBST(CLEANFILES) +AC_SUBST(EXTRA_SOURCES) + +#-------------------------------------------------------------------- +# Check whether --enable-threads or --disable-threads was given. +# This call disable threading support as a default. +#-------------------------------------------------------------------- +TEA_ENABLE_THREADS(no) + +#-------------------------------------------------------------------- +# The statement below defines a collection of symbols related to +# building as a shared library instead of a static library. +#-------------------------------------------------------------------- +TEA_ENABLE_SHARED + +#-------------------------------------------------------------------- +# This macro figures out what flags to use with the compiler/linker +# when building shared/static debug/optimized objects. This information +# can be taken from the tclConfig.sh file, but this figures it all out. +#-------------------------------------------------------------------- +TEA_CONFIG_CFLAGS + +#-------------------------------------------------------------------- +# Set the default compiler switches based on the --enable-symbols option. +#-------------------------------------------------------------------- +TEA_ENABLE_SYMBOLS + +#-------------------------------------------------------------------- +# For Unix/Tk builds, make sure that the X libraries/headers are found. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +TEA_PATH_X + +#-------------------------------------------------------------------- +# This sets the tesselation library name and adjust LIBS to +# include this library. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + Tess_LIB_FILE=tess.lib +else + Tess_LIB_FILE=libtess.a +fi +LIBS="${LIBS} -L. -ltess" +AC_SUBST(Tess_LIB_FILE) + +#-------------------------------------------------------------------- +# Tkzinc is always linked against the tcl and tk stubs libraries +#-------------------------------------------------------------------- +AC_DEFINE(USE_TCL_STUBS) +AC_DEFINE(USE_TK_STUBS) + +#-------------------------------------------------------------------- +# This macro generates a line to use when building a library. It +# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, +# and TEA_LOAD_TCLCONFIG macros above. +#-------------------------------------------------------------------- +TEA_MAKE_LIB + +#-------------------------------------------------------------------- +# Add platform libs to LIBS or SHLIB_LD_LIBS as necessary. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + LIBS="${LIBS} -lgdi32 -luser32 -lwsock32" +fi +#SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -lxxxx" + +#-------------------------------------------------------------------- +# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl +# file during the install process. Don't run the TCLSH_PROG through +# ${CYGPATH} because it's being used directly by make. +# Require that we use a tclsh shell version 8.2 or later since earlier +# versions have bugs in the pkg_mkIndex routine. +# Add WISH as well since Tkzinc is a Tk extension. +#-------------------------------------------------------------------- +TEA_PROG_TCLSH +TEA_PROG_WISH + +#-------------------------------------------------------------------- +# Define the SHAPE symbol to control the X shape extension support. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +ZINC_ENABLE_SHAPE + +#-------------------------------------------------------------------- +# Adjust the library set based on --enable-gl option. Define also +# the GL and GL_DAMAGE symbols to configure the code. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +ZINC_ENABLE_GL + +#-------------------------------------------------------------------- +# Define the OM symbol to control inclusion of the overlap manager +# support. +#-------------------------------------------------------------------- +ZINC_ENABLE_OM + +#-------------------------------------------------------------------- +# Define the PTK symbol to control whether zinc is built for Tk or +# for perl/Tk. +#-------------------------------------------------------------------- +ZINC_ENABLE_PTK + +#-------------------------------------------------------------------- +# Finally, substitute all of the various values into the Makefile. +# Add other files needing substitution after Makefile. +#-------------------------------------------------------------------- +AC_OUTPUT([Makefile Python/Zinc.py Perl/Makefile.PL]) diff --git a/debian/control b/debian/control index 727b6b4..0843b3e 100644 --- a/debian/control +++ b/debian/control @@ -2,12 +2,12 @@ Source: zinc-tk Section: devel Priority: extra Maintainer: Patrick Lecoanet -#Build-Depends: xlibs-dev, xlibmesa-dev, tk8.3-dev, tcl8.3-dev, perl-base, python (>= 2.1), debhelper (>> 3.0.0), tetex-extra (>= 1.0.2+20011202-2),gcc(>= 2.95.4-14), perl (>= 5.6.1-8.2) +#Build-Depends: xlibs-dev, xlibmesa-dev, tk8.4-dev, tcl8.4-dev, perl-base, python (>= 2.1), debhelper (>> 3.0.0), tetex-extra (>= 1.0.2+20011202-2),gcc(>= 2.95.4-14), perl (>= 5.6.1-8.2) Standards-Version: 2.3.0.0 Package: zinc-tk Architecture: i386 -Depends: tk8.3, xlibmesa3 +Depends: tk8.4, xlibmesa3 Provides: zinc-tk Conflicts: xradar3-tk Description: The Tk Zinc widget. @@ -27,7 +27,7 @@ Description: perl-tk variant of the Tk Zinc widget. perl-tk variant of the Tk Zinc widget. Package: zinc-python -Architecture: i386 +Architecture: all Depends: python (<< 2.2 ), python-tk, zinc-tk (= ${Source-Version}) Provides: zinc-python Conflicts: python-xradar3 diff --git a/debian/rules b/debian/rules index 2adc8c3..bae8ebd 100755 --- a/debian/rules +++ b/debian/rules @@ -1,99 +1,136 @@ #!/usr/bin/make -f -# Made with the aid of debmake, by Christoph Lameter, -# based on the sample debian/rules file for GNU hello by Ian Jackson. +# Sample debian/rules that uses debhelper. +# This file is public domain software, originally written by Joey Hess. +# +# This version is for a hypothetical package that builds an +# architecture-dependant package, as well as an architecture-independent +# package. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 -version=$(shell expr `pwd` : '.*-\([0-9.]*\)') -version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*') +TMP=`pwd`/debian/tmp +TMP_PERL=`pwd`/debian/zinc-perl +TMP_PYTHON=`pwd`/debian/zinc-python -INSTALLARCHLIB=`perl -MConfig -e 'print $$Config{installarchlib}'` -INSTALL_PERL=pure_install PREFIX=`pwd`/debian/tmp/usr +INSTALL_PERL=pure_install INSTALLDIRS=perl PREFIX=$(TMP)/usr DEFAULT_VERSION_PYTHON=$(shell echo `dpkg -p python| grep -e "^Version:" |cut -d" " -f2|cut -d"." -f1-2` ) -ZINCPYTHON := $(shell pwd)/debian/zinc-python -TMP=`pwd`/debian/tmp +build: build-stamp +build-stamp: + dh_testdir -build: - $(checkdir) + touch build-stamp - ./configure --prefix=/usr/X11R6 +clean: + dh_testdir + dh_testroot + -rm -f build-stamp + -rm -f config.cache + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs # -# Build the static library (it does not need Position Independent Code, -# which reserves one register; thus, without -fPIC we get more efficient -# code). +# Configuring/compiling/installing for perl/Tk. + ./configure --prefix=/usr --enable-ptk --enable-gl==damage + make perl + make perlinstall prefix=$(TMP)/usr INSTALL_PERL=$(INSTALL_PERL) + + find $(TMP)/usr/lib/perl -type f -name .packlist | xargs rm -f + find $(TMP)/usr/lib/perl5 -type f -name .packlist | xargs rm -f + + -mkdir -p $(TMP_PERL)/usr/lib + mv $(TMP)/usr/lib/perl $(TMP_PERL)/usr/lib + mv $(TMP)/usr/bin $(TMP_PERL)/usr + mv $(TMP)/usr/lib/libTkzinc*.so $(TMP_PERL)/usr/lib + + dh_installman -pzinc-perl $(TMP)/usr/share/man/man3/*.3pm + dh_installman -pzinc-perl $(TMP)/usr/share/man/man1/*.1p + + -rm -Rf $(TMP)/usr/share/perl + -rm -Rf $(TMP)/usr/share/man + # - $(MAKE) -f Makefile tkzinc ptkzinc doc - touch build +# Configuring/compiling/installing for Tcl. + ./configure --prefix=/usr --enable-gl==damage + make clean binaries + make install prefix=$(TMP)/usr -clean: - $(checkdir) - -rm -f build - -rm -f config.cache - -make distclean - -rm -f `find . -name "*~"` - -rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core - -rm -f debian/*substvars -binary-indep: checkroot build - $(checkdir) - $(MAKE) -f Makefile python - -binary-arch: checkroot build - $(checkdir) - install -d debian/tmp - - grep -q "usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages" debian/dirs || echo "usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages" >> debian/dirs - - cd debian/tmp && install -d `cat ../dirs` - $(MAKE) install prefix=`pwd`/debian/tmp/usr INSTALL_PERL=$(INSTALL_PERL) - - -install -m644 doc/refman/*.html doc/refman/refman.css doc/refman/*.png debian/tmp/usr/share/doc/zinc-tk/refman -# Correcting a bug still in the zinc Makefile.in. Why this hierarchy is created? - -rm -r `pwd`/debian/tmp/usr/lib/perl/5.6.1/perl/ - - install -m644 debian/copyright debian/tmp/usr/share/doc/zinc-perl - install -m644 debian/changelog debian/tmp/usr/share/doc/zinc-perl - install -m644 BUGS debian/tmp/usr/share/doc/zinc-perl - gzip -9 debian/tmp/usr/share/doc/zinc-perl/changelog - find debian/tmp/usr/lib/perl -type f -name .packlist | xargs rm -f - find debian/tmp/usr/lib/perl5 -type f -name .packlist | xargs rm -f - - install -m644 Python/Zinc.py debian/tmp/usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages/ - install -m644 debian/copyright debian/tmp/usr/share/doc/zinc-python - install -m644 debian/changelog debian/tmp/usr/share/doc/zinc-python - gzip -9 debian/tmp/usr/share/doc/zinc-python/changelog - echo -e "usr/share/doc/zinc-python\nusr/lib/python$(DEFAULT_VERSION_PYTHON)" > debian/zinc-python.files - -# strip --strip-unneeded debian/tmp/usr/lib/tkzinc3.1.so -# strip --strip-unneeded debian/tmp/usr/lib/libom.so -# strip --strip-unneeded debian/tmp/usr/lib/libgpc.so -# strip --strip-unneeded debian/tmp/usr/lib/libptkzinc3.1.so - - debstd -m -c -s BUGS doc/refman.pdf - dh_md5sums - -rm -Rf debian/tmp/usr/share/doc/zinc-perl debian/tmp/usr/lib/perl5 - -rm -Rf debian/tmp/usr/lib/perl debian/tmp/usr/share/perl - -rm -Rf debian/tmp/usr/share/doc/zinc-python debian/tmp/usr/lib/python$(DEFAULT_VERSION_PYTHON) - dpkg-gencontrol -VPythonVersion=$(DEFAULT_VERSION_PYTHON) -isp -pzinc-tk - chown -R root.root debian/tmp - chmod -R go=rX debian/tmp - dpkg --build debian/tmp .. - -rm -f debian/zinc-python.files - mv debian/dirs debian/.dirs.tmp - grep -v "usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages" debian/.dirs.tmp >| debian/dirs - rm -f debian/.dirs.tmp - -define checkdir - test -f debian/rules -endef - -# Below here is fairly generic really - -binary: binary-indep binary-arch - -checkroot: - $(checkdir) - test root = "`whoami`" - -.PHONY: binary binary-arch binary-indep clean checkroot + -mkdir -p $(TMP)/usr/share/doc/zinc-tk/refman + -install -m644 doc/refman.pdf $(TMP)/usr/share/doc/zinc-tk + -install -m644 doc/refman/*.html doc/refman/*.css doc/refman/*.png $(TMP)/usr/share/doc/zinc-tk/refman + +# +# Configuring/compiling/installing for Python. + -mkdir -p $(TMP_PYTHON)/usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages + -install -m644 Python/Zinc.py $(TMP_PYTHON)/usr/lib/python$(DEFAULT_VERSION_PYTHON)/site-packages + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir -i + dh_testroot -i + dh_installchangelogs -i + dh_installdocs -i BUGS + dh_installexamples -i + dh_install -i +# dh_installmenu -i +# dh_installdebconf -i +# dh_installlogrotate -i +# dh_installemacsen -i +# dh_installpam -i +# dh_installmime -i +# dh_installinit -i +# dh_installcron -i +# dh_installinfo -i +# dh_undocumented -i + dh_installman -i + dh_link -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i +# dh_perl -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir -a + dh_testroot -a + dh_installchangelogs -a + dh_installdocs -a BUGS + dh_installexamples -a + dh_installmenu -a +# dh_installdebconf -a +# dh_installlogrotate -a +# dh_installemacsen -a +# dh_installpam -a +# dh_installmime -a +# dh_installinit -a +# dh_installcron -a +# dh_installinfo -a +# dh_undocumented -a + dh_installman -a + dh_strip -a + dh_link -a + dh_compress -a + dh_fixperms -a +# dh_makeshlibs -a + dh_installdeb -a +# dh_perl -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/tclconfig/tcl.m4 b/tclconfig/tcl.m4 index d2421cf..48a6f3e 100644 --- a/tclconfig/tcl.m4 +++ b/tclconfig/tcl.m4 @@ -375,7 +375,7 @@ AC_DEFUN(TEA_LOAD_TKCONFIG, [ AC_DEFUN(TEA_ENABLE_SHARED, [ AC_MSG_CHECKING([how to build libraries]) AC_ARG_ENABLE(shared, - [ --enable-shared build and link with shared libraries [--enable-shared]], + [ --enable-shared build and link with shared libraries [[yes]]], [tcl_ok=$enableval], [tcl_ok=yes]) if test "${enable_shared+set}" = set; then @@ -420,7 +420,7 @@ AC_DEFUN(TEA_ENABLE_SHARED, [ #------------------------------------------------------------------------ AC_DEFUN(TEA_ENABLE_THREADS, [ - AC_ARG_ENABLE(threads, [ --enable-threads build with threads], + AC_ARG_ENABLE(threads, [ --enable-threads build with threads [[$1]]], [tcl_ok=$enableval], [tcl_ok=$1]) if test "$tcl_ok" = "yes"; then @@ -547,7 +547,7 @@ AC_DEFUN(TEA_ENABLE_SYMBOLS, [ fi AC_MSG_CHECKING([for build with symbols]) - AC_ARG_ENABLE(symbols, [ --enable-symbols build with debugging symbols [--disable-symbols]], [tcl_ok=$enableval], [tcl_ok=no]) + AC_ARG_ENABLE(symbols, [ --enable-symbols build with debugging symbols (yes,no,mem,all) [[no]]], [tcl_ok=$enableval], [tcl_ok=no]) if test "$tcl_ok" = "no"; then CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)' LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)' @@ -603,7 +603,7 @@ AC_DEFUN(TEA_ENABLE_SYMBOLS, [ AC_DEFUN(TEA_ENABLE_LANGINFO, [ AC_ARG_ENABLE(langinfo, [ --enable-langinfo use nl_langinfo if possible to determine - encoding at startup, otherwise use old heuristic], + encoding at startup, otherwise use old heuristic [[yes]]], [langinfo_ok=$enableval], [langinfo_ok=yes]) HAVE_LANGINFO=0 @@ -721,13 +721,13 @@ AC_DEFUN(TEA_CONFIG_CFLAGS, [ # Step 0: Enable 64 bit support? AC_MSG_CHECKING([if 64bit support is enabled]) - AC_ARG_ENABLE(64bit,[ --enable-64bit enable 64bit support (where applicable)], [do64bit=$enableval], [do64bit=no]) + AC_ARG_ENABLE(64bit,[ --enable-64bit enable 64bit support (where applicable) [[no]]], [do64bit=$enableval], [do64bit=no]) AC_MSG_RESULT([$do64bit]) # Step 0.b: Enable Solaris 64 bit VIS support? AC_MSG_CHECKING([if 64bit Sparc VIS support is requested]) - AC_ARG_ENABLE(64bit-vis,[ --enable-64bit-vis enable 64bit Sparc VIS support], [do64bitVIS=$enableval], [do64bitVIS=no]) + AC_ARG_ENABLE(64bit-vis,[ --enable-64bit-vis enable 64bit Sparc VIS support [[no]]], [do64bitVIS=$enableval], [do64bitVIS=no]) AC_MSG_RESULT([$do64bitVIS]) if test "$do64bitVIS" = "yes"; then @@ -781,7 +781,15 @@ AC_DEFUN(TEA_CONFIG_CFLAGS, [ CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O if test "$GCC" = "yes" ; then - CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int" +# +# no-implicit-int is already included in all. +# -Wconversion generate some pretty useless warnings +# among more useful ones. To be used once in a while. +# Added -W which _is_ useful, it detects comparisons +# between unsigned and signed, empty blocks, unused +# parameters/vars.... +# CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int" + CFLAGS_WARNING="-Wall -W" else CFLAGS_WARNING="" fi -- cgit v1.1