From 3862cdd11b0f2223852f907fcfc52a2978987f90 Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 19 Dec 2008 10:55:38 +0000 Subject: More autoconf hacking; now seems to be working fully on Unix... --- unix/Makefile.in | 85 ++++++++++++++++++++++++++++++++++--------------------- unix/configure.in | 13 ++++----- win/Makefile.in | 20 ++++++++----- 3 files changed, 71 insertions(+), 47 deletions(-) diff --git a/unix/Makefile.in b/unix/Makefile.in index 15babe7..09dc947 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -4,7 +4,7 @@ # "./configure", which is a configuration script generated by the "autoconf" # program (constructs like "@foo@" will get replaced in the actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.253 2008/12/19 07:01:02 dgp Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.254 2008/12/19 10:55:38 dkf Exp $ VERSION = @TCL_VERSION@ MAJOR_VERSION = @TCL_MAJOR_VERSION@ @@ -233,8 +233,7 @@ DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library ZLIB_DIR = @ZLIB_DIR@ -ZLIB_LIBRARY = @ZLIB_DIR@@ZLIB_LIB@ -ZLIB_LIB = @ZLIB_LIB@ +ZLIB_INCLUDE = @ZLIB_INCLUDE@ CC = @CC@ #CC = purify -best-effort @CC@ -DPURIFY @@ -336,10 +335,13 @@ MAC_OSX_OBJS = tclMacOSXBundle.o tclMacOSXFCmd.o tclMacOSXNotify.o DTRACE_OBJ = tclDTrace.o +ZLIB_OBJS = Zadler32.o Zcompress.o Zcrc32.o Zdeflate.o Zgzio.o Zinfback.o \ + Zinffast.o Zinflate.o Zinftrees.o Ztrees.o Zuncompr.o Zzutil.o + TCL_OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \ ${OO_OBJS} @DL_OBJS@ @PLAT_OBJS@ -OBJS = ${TCL_OBJS} ${TOMMATH_OBJS} @DTRACE_OBJ@ +OBJS = ${TCL_OBJS} ${TOMMATH_OBJS} @DTRACE_OBJ@ @ZLIB_OBJS@ TCL_DECLS = \ $(GENERIC_DIR)/tcl.decls \ @@ -553,12 +555,26 @@ DTRACE_HDR = tclDTrace.h DTRACE_SRC = $(GENERIC_DIR)/tclDTrace.d +ZLIB_SRCS = \ + $(ZLIB_DIR)/adler32.c \ + $(ZLIB_DIR)/compress.c \ + $(ZLIB_DIR)/crc32.c \ + $(ZLIB_DIR)/deflate.c \ + $(ZLIB_DIR)/gzio.c \ + $(ZLIB_DIR)/infback.c \ + $(ZLIB_DIR)/inffast.c \ + $(ZLIB_DIR)/inflate.c \ + $(ZLIB_DIR)/inftrees.c \ + $(ZLIB_DIR)/trees.c \ + $(ZLIB_DIR)/uncompr.c \ + $(ZLIB_DIR)/zutil.c + # Note: don't include DL_SRCS or MAC_OSX_SRCS in SRCS: most of those files # won't compile on the current machine, and they will cause problems for # things like "make depend". SRCS = $(GENERIC_SRCS) $(TOMMATH_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \ - $(STUB_SRCS) @PLAT_SRCS@ + $(OO_SRCS) $(STUB_SRCS) @PLAT_SRCS@ @ZLIB_SRCS@ all: binaries libraries doc packages @@ -570,7 +586,7 @@ doc: # The following target is configured by autoconf to generate either a shared # library or non-shared library for Tcl. -${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} ${ZLIB_DIR}${ZLIB_LIB} +${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} rm -f $@ @MAKE_LIB@ @@ -578,9 +594,6 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f $@ @MAKE_STUB_LIB@ -${ZLIB_DIR}${ZLIB_LIB}: - cd ${ZLIB_DIR}; ${MAKE} ${ZLIB_LIB} - # Make target which outputs the list of the .o contained in the Tcl lib useful # to build a single big shared library containing Tcl and other extensions. # Used for the Tcl Plugin. -- dl @@ -1225,7 +1238,7 @@ tclVar.o: $(GENERIC_DIR)/tclVar.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclVar.c tclZlib.o: $(GENERIC_DIR)/tclZlib.c - $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclZlib.c + $(CC) -c $(ZLIB_INCLUDE) $(CC_SWITCHES) $(GENERIC_DIR)/tclZlib.c tclTest.o: $(GENERIC_DIR)/tclTest.c $(IOHDR) $(TCLREHDRS) $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTest.c @@ -1548,6 +1561,32 @@ strtoul.o: $(COMPAT_DIR)/strtoul.c waitpid.o: $(COMPAT_DIR)/waitpid.c $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/waitpid.c +# For building zlib, only used in some build configurations +Zadler32.o: $(ZLIB_DIR)/adler32.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zcompress.o: $(ZLIB_DIR)/compress.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zcrc32.o: $(ZLIB_DIR)/crc32.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zdeflate.o: $(ZLIB_DIR)/deflate.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zgzio.o: $(ZLIB_DIR)/gzio.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zinfback.o: $(ZLIB_DIR)/infback.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zinffast.o: $(ZLIB_DIR)/inffast.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zinflate.o: $(ZLIB_DIR)/inflate.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zinftrees.o: $(ZLIB_DIR)/inftrees.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Ztrees.o: $(ZLIB_DIR)/trees.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zuncompr.o: $(ZLIB_DIR)/uncompr.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< +Zzutil.o: $(ZLIB_DIR)/zutil.c + $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $< + # Stub library binaries, these must be compiled for use in a shared library # even though they will be placed in a static archive @@ -1816,28 +1855,10 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(MAC_OSX_DIR)/configure cp -p $(TOP_DIR)/license.terms $(COMPAT_DIR)/*.[ch] \ $(COMPAT_DIR)/README $(DISTDIR)/compat mkdir $(DISTDIR)/compat/zlib - cp -p $(COMPAT_DIR)/zlib/*.[ch] $(COMPAT_DIR)/zlib/*.txt \ - $(COMPAT_DIR)/zlib/ChangeLog $(COMPAT_DIR)/zlib/configure \ - $(COMPAT_DIR)/zlib/FAQ $(COMPAT_DIR)/zlib/INDEX \ - $(COMPAT_DIR)/zlib/Makefile* $(COMPAT_DIR)/zlib/README \ - $(COMPAT_DIR)/zlib/zlib.3 $(DISTDIR)/compat/zlib - mkdir $(DISTDIR)/compat/zlib/amiga - cp -p $(COMPAT_DIR)/zlib/amiga/Makefile.* $(DISTDIR)/compat/zlib/amiga - mkdir $(DISTDIR)/compat/zlib/as400 - cp -p $(COMPAT_DIR)/zlib/as400/bndsrc \ - $(COMPAT_DIR)/zlib/as400/compile.clp \ - $(COMPAT_DIR)/zlib/as400/readme.txt \ - $(COMPAT_DIR)/zlib/as400/zlib.inc $(DISTDIR)/compat/zlib/as400 - mkdir $(DISTDIR)/compat/zlib/msdos - cp -p $(COMPAT_DIR)/zlib/msdos/Makefile.* $(DISTDIR)/compat/zlib/msdos - mkdir $(DISTDIR)/compat/zlib/qnx - cp $(COMPAT_DIR)/zlib/qnx/package.qpg $(DISTDIR)/compat/zlib/qnx - mkdir $(DISTDIR)/compat/zlib/win32 - cp -p $(COMPAT_DIR)/zlib/win32/Makefile.* \ - $(COMPAT_DIR)/zlib/win32/zlib* \ - $(COMPAT_DIR)/zlib/win32/VisualC.txt \ - $(COMPAT_DIR)/zlib/win32/DLL_FAQ.txt \ - $(DISTDIR)/compat/zlib/win32 + ( cd $(COMPAT_DIR)/zlib; \ + find . -name CVS -prune -o -type f -print ) \ + | ( cd $(COMPAT_DIR)/zlib ; xargs tar cf - ) \ + | ( cd $(DISTDIR)/compat/zlib ; tar xfp - ) mkdir $(DISTDIR)/tests cp -p $(TOP_DIR)/license.terms $(DISTDIR)/tests cp -p $(TOP_DIR)/tests/*.test $(TOP_DIR)/tests/README \ diff --git a/unix/configure.in b/unix/configure.in index c09a5ad..bc2a97c 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -3,7 +3,7 @@ dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.199 2008/12/19 03:54:44 dgp Exp $ +# RCS: @(#) $Id: configure.in,v 1.200 2008/12/19 10:55:38 dkf Exp $ AC_INIT([tcl],[8.6]) AC_PREREQ(2.59) @@ -129,9 +129,10 @@ AS_IF([test $zlib_ok = yes], [ AC_MSG_WARN([todo: Add compat/zlib to list of things to build]) ])]) AS_IF([test $zlib_ok = no], [ - AC_SUBST(ZLIB_DIR,[\${TOP_DIR}/compat/zlib/]) - AC_SUBST(ZLIB_LIB,[libz.a]) - CFLAGS="$CFLAGS -I\${ZLIB_DIR}" + AC_SUBST(ZLIB_DIR,[\${COMPAT_DIR}/zlib]) + AC_SUBST(ZLIB_OBJS,[\${ZLIB_OBJS}]) + AC_SUBST(ZLIB_SRCS,[\${ZLIB_SRCS}]) + AC_SUBST(ZLIB_INCLUDE,[-I\${ZLIB_DIR}]) ]) AC_DEFINE(HAVE_ZLIB, 1, [Is there an installed zlib?]) @@ -844,10 +845,6 @@ TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}" # Install time header dir can be set via --includedir eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" -AS_IF([test $zlib_ok = no], [ - LD_SEARCH_FLAGS="\${ZLIB_LIBRARY} ${LD_SEARCH_FLAGS}" -]) - #------------------------------------------------------------------------ # tclConfig.sh refers to this by a different name #------------------------------------------------------------------------ diff --git a/win/Makefile.in b/win/Makefile.in index a242720..eb5cd65 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -4,7 +4,7 @@ # "./configure", which is a configuration script generated by the "autoconf" # program (constructs like "@foo@" will get replaced in the actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.142 2008/12/19 02:46:07 kennykb Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.143 2008/12/19 10:55:38 dkf Exp $ VERSION = @TCL_VERSION@ @@ -190,11 +190,14 @@ COPY = cp CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ -I"${GENERIC_DIR_NATIVE}" -DTCL_TOMMATH -DMP_PREC=4 -I"${TOMMATH_DIR_NATIVE}" \ --I"${WIN_DIR_NATIVE}" -I"${ZLIB_DIR}" ${AC_FLAGS} \ +-I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \ ${COMPILE_DEBUG_FLAGS} ZLIB_LIB = libz.a +ZLIB_INC = -I"${ZLIB_DIR}" +ZLIB_FILE = ${ZLIB_DIR}${ZLIB_LIB} + CC_OBJNAME = @CC_OBJNAME@ CC_EXENAME = @CC_EXENAME@ @@ -420,17 +423,17 @@ ${TCL_STUB_LIB_FILE}: ${STUB_OBJS} @MAKE_LIB@ ${STUB_OBJS} @POST_MAKE_LIB@ -${TCL_DLL_FILE}: ${TCL_OBJS} ${ZLIB_DIR}${ZLIB_LIB} tcl.$(RES) +${TCL_DLL_FILE}: ${TCL_OBJS} ${ZLIB_FILE} tcl.$(RES) @$(RM) ${TCL_DLL_FILE} - @MAKE_DLL@ ${TCL_OBJS} ${ZLIB_DIR}${ZLIB_LIB} tcl.$(RES) $(SHLIB_LD_LIBS) + @MAKE_DLL@ ${TCL_OBJS} ${ZLIB_FILE} tcl.$(RES) $(SHLIB_LD_LIBS) -${TCL_LIB_FILE}: ${TCL_OBJS} ${ZLIB_DIR}${ZLIB_LIB} +${TCL_LIB_FILE}: ${TCL_OBJS} ${ZLIB_FILE} @$(RM) ${TCL_LIB_FILE} - @MAKE_LIB@ ${ZLIB_DIR}${ZLIB_LIB} ${TCL_OBJS} + @MAKE_LIB@ ${ZLIB_FILE} ${TCL_OBJS} @POST_MAKE_LIB@ # assume GNU make -${ZLIB_DIR}${ZLIB_LIB}: +${ZLIB_FILE}: ${MAKE} -C ${ZLIB_DIR} CC="${CC}" ${ZLIB_LIB} ${DDE_DLL_FILE}: ${DDE_OBJS} ${TCL_STUB_LIB_FILE} @@ -486,6 +489,9 @@ tclWinTest.${OBJEXT}: tclWinTest.c tclAppInit.${OBJEXT} : tclAppInit.c $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) +tclZlib.${OBJEXT} : tclZlib.c + $(CC) -c ${ZLIB_INC} $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME) + # The following objects should be built using the stub interfaces tclWinReg.${OBJEXT} : tclWinReg.c -- cgit v0.12