diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/configure.in ./configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/configure.in 2004-03-19 23:22:00.000000000 +0100 +++ ./configure.in 2004-03-29 14:37:12.000000000 +0200 @@ -53,6 +53,7 @@ dnl xdvik's xt.ac has much more to offer dnl sinclude(texk/kpathsea/xt.ac) sinclude(texk/web2c/withenable.ac) sinclude(texk/xdvik/withenable.ac) +sinclude(texk/cross.ac) sinclude(texk/xdvik/xt.ac) sinclude(libs/ncurses/withenable.ac) sinclude(libs/libpng/withenable.ac) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/Makefile.in ./Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/Makefile.in 2004-03-19 15:47:51.000000000 +0100 +++ ./Makefile.in 2004-03-29 14:37:12.000000000 +0200 @@ -25,6 +25,7 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ scriptdir = $(bindir) +runscriptdir = @runscriptdir@ texmf = @texmfmain@ NCURSESDIR=libs/ncurses @@ -67,15 +68,15 @@ install: all cd $(bindir); for i in $(ALLPROGS); do test -f $$i && echo strip $$i && strip $$i || true; done $(srcdir)/selfautofix "$(bindir)" "$(texmf)/web2c" if test -f $(scriptdir)/mktexlsr; then \ - TEXMFMAIN=$(texmf) PATH=$(scriptdir):$(bindir):$(PATH) \ + TEXMFMAIN=$(texmf) PATH=$(runscriptdir):$(bindir):$(PATH) \ $(scriptdir)/mktexlsr; \ else :; fi if test -f $(scriptdir)/fmtutil; then \ - TEXMFMAIN=$(texmf) PATH=$(scriptdir):$(bindir):$(PATH) \ + TEXMFMAIN=$(texmf) PATH=$(runscriptdir):$(bindir):$(PATH) \ $(scriptdir)/fmtutil --all; \ else :; fi if test -f $(scriptdir)/texlinks; then \ - TEXMFMAIN=$(texmf) PATH=$(scriptdir):$(bindir):$(PATH) \ + TEXMFMAIN=$(texmf) PATH=$(runscriptdir):$(bindir):$(PATH) \ $(scriptdir)/texlinks; \ else :; fi @@ -89,7 +90,7 @@ install-exec: @FMU@install-exec-extra: cd $(bindir); for i in $(ALLPROGS); do test -f $$i && echo strip $$i && strip $$i || true; done if test -f $(scriptdir)/texlinks; then \ - TEXMFMAIN=$(texmf) PATH=$(scriptdir):$(bindir):$(PATH) \ + TEXMFMAIN=$(texmf) PATH=$(runscriptdir):$(bindir):$(PATH) \ $(scriptdir)/texlinks; \ else :; fi diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/strip ./strip --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/strip 1970-01-01 01:00:00.000000000 +0100 +++ ./strip 2004-04-04 18:07:27.000000000 +0200 @@ -0,0 +1,2 @@ +#!/bin/sh +echo NOT stripping: $* diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/ChangeLog ./texk/ChangeLog --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/ChangeLog 2003-02-19 21:51:02.000000000 +0100 +++ ./texk/ChangeLog 2004-04-04 12:10:59.000000000 +0200 @@ -1,3 +1,7 @@ +2004-04-04 Jan Nieuwenhuizen + + * xdvik/acconfig.h (HAVE_LIB_XP): Add missing entry. + 2003-02-19 Olaf Weber * etc/autoconf/acspecific.m4: Merge of patch from Albert diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/configure.in ./texk/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/configure.in 2004-03-11 03:08:06.000000000 +0100 +++ ./texk/configure.in 2004-04-04 11:08:05.000000000 +0200 @@ -34,6 +34,7 @@ dnl options, they must be added, so conf dnl will show all the options. sinclude(libtool.m4) sinclude(withenable.ac) +sinclude(cross) sinclude(kpathsea/withenable.ac) sinclude(web2c/withenable.ac) sinclude(xdvik/withenable.ac) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/cross.ac ./texk/cross.ac --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/cross.ac 1970-01-01 01:00:00.000000000 +0100 +++ ./texk/cross.ac 2004-04-04 17:28:53.000000000 +0200 @@ -0,0 +1,61 @@ +dnl cross.ac: cross compilation stuff -*-autoconf-*- + +## Cross building +if test "$cross_compiling" = "yes"; then + AC_MSG_CHECKING(cc for build) + ## /usr/bin/cc still uses wrong assembler + ## BUILD_CC="${BUILD_CC-/usr/bin/cc}" + BUILD_CC="${BUILD_CC-PATH=/usr/bin:$PATH cc}" +else + BUILD_CC="${BUILD_CC-$CC}" +fi +AC_ARG_WITH(cc-for-build, + [ --with-cc-for-build=CC native C compiler, to be used during build]) +test -n "$with_cc_for_build" && BUILD_CC="$with_cc_for_build" + +## AC_MSG_CHECKING("if we are cross compiling") +## AC_MSG_RESULT($cross_compiling) +if test "$cross_compiling" = "yes"; then + AC_MSG_RESULT($BUILD_CC) +fi + +BUILD_CCLD="$BUILD_CC" + +AC_SUBST(cross_compiling) +AC_SUBST(BUILD_CC) +AC_SUBST(BUILD_CCLD) + +if test "$cross_compiling" = "yes"; then + for_build='-for-build' + runscriptdir=/usr/bin + AC_PATH_PROG(ETEX, etex, /usr/bin/etex) + AC_PATH_PROG(KPSEWHICH, kpsewhich, /usr/bin/kpsewhich) + AC_PATH_PROG(MF, mf, /usr/bin/mf) + AC_PATH_PROG(MPOST, mpost, /usr/bin/mpost) + AC_PATH_PROG(OMEGA, omega, /usr/bin/omega) + AC_PATH_PROG(PDFETEX, pdfetex, /usr/bin/pdfetex) + AC_PATH_PROG(PDFTEX, pdftex, /usr/bin/pdftex) + AC_PATH_PROG(TEX, tex, /usr/bin/tex) +else + for_build= + runscriptdir='$(bindir)' + ETEX=./etex + KPSEWHICH='$(kpathsea_dir)/kpsewhich' + MF=./mf + MPOST=./mpost + OMEGA=./omega + PDFETEX=./pdfetex + PDFTEX=./pdftex + TEX=./tex +fi + +AC_SUBST(for_build) +AC_SUBST(runscriptdir) +AC_SUBST(ETEX) +AC_SUBST(KPSEWHICH) +AC_SUBST(MF) +AC_SUBST(MPOST) +AC_SUBST(OMEGA) +AC_SUBST(PDFETEX) +AC_SUBST(PDFTEX) +AC_SUBST(TEX) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dviljk/configure.in ./texk/dviljk/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dviljk/configure.in 1999-02-08 22:42:01.000000000 +0100 +++ ./texk/dviljk/configure.in 2003-08-19 13:52:35.000000000 +0200 @@ -9,6 +9,7 @@ AC_PROG_MAKE_SET AC_PROG_LN_S sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) dnl These tests prevent reliable cross-compilation. Sigh. AC_C_CHAR_UNSIGNED diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dvipsk/configure.in ./texk/dvipsk/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dvipsk/configure.in 2002-01-31 20:59:19.000000000 +0100 +++ ./texk/dvipsk/configure.in 2004-04-04 11:07:48.000000000 +0200 @@ -13,6 +13,7 @@ AC_CHECK_LIB(m, main,LIBS="$LIBS -lm") sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) dnl These tests prevent reliable cross-compilation. Sigh. dnl Some special hacks are used to make cross-compilation diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dvipsk/Makefile.in ./texk/dvipsk/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/dvipsk/Makefile.in 2003-06-15 20:00:12.000000000 +0200 +++ ./texk/dvipsk/Makefile.in 2004-04-04 17:19:27.000000000 +0200 @@ -46,8 +46,8 @@ $(program): $(kpathsea) $(objects) afm2tfm: $(kpathsea) afm2tfm.o $(kpathsea_link) afm2tfm.o $(LOADLIBES) # Omit LOADLIBES since no need to dynamically link with kpathsea. -squeeze: squeeze.o - $(link_command) squeeze.o $(LIBS) $(XLOADLIBES) +squeeze: squeeze$(for-build).o + $(build_link_command) squeeze$(for-build).o $(prologues): squeeze texc.lpro: texc.script tex.lpro diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/gsftopk/configure.in ./texk/gsftopk/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/gsftopk/configure.in 1999-04-22 07:53:37.000000000 +0200 +++ ./texk/gsftopk/configure.in 2003-08-19 13:52:35.000000000 +0200 @@ -9,6 +9,7 @@ AC_PROG_MAKE_SET AC_PROG_LN_S sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) dnl Checks for header files. AC_HEADER_SYS_WAIT diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/ChangeLog ./texk/kpathsea/ChangeLog --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/ChangeLog 2003-02-19 21:49:49.000000000 +0100 +++ ./texk/kpathsea/ChangeLog 2004-04-04 17:56:19.000000000 +0200 @@ -1,3 +1,24 @@ +2004-04-04 Jan Nieuwenhuizen + + * xdirname.c (xdirname) [__CYGWIN__]: Bugfix: Do UNC magic. + +2004-04-03 Jan Nieuwenhuizen + + * mktexlsr: + * mktex.opt: Bugfix: Cygwin is not DOSISH. + + * version.c (kpathsea_version_string, kpse_bug_address)[KPSEDLL]: + Mark as EXPORT. + + * config.h: Bugfix: Cygwin is not DOSISH. + + * c-proto.h: Add DLL import/export logic for Cygwin. + * c-pathch.h (DEVICE_SEP_LEN): New macro. + + * elt-dirs.c (kpse_normalize_path)[__CYGWIN__]: Strip leading `//' + unless environment variable KPSE_SEARCH_UNC is set (and has not + value "no"). Handle DEVICE_SEP_LEN correctly for Cygwin. + 2003-02-19 Olaf Weber * kpathsea.texi: Version 3.5.2. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/config.h ./texk/kpathsea/config.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/config.h 2003-01-24 20:43:55.000000000 +0100 +++ ./texk/kpathsea/config.h 2004-04-03 19:25:55.000000000 +0200 @@ -33,10 +33,10 @@ Foundation, Inc., 59 Temple Place - Suit #endif /* If we have either DOS or OS2, we are DOSISH. */ -#if defined(__i386_pc_gnu__) || \ - defined(OS2) || \ +#if !defined (__CYGWIN__) && \ + (defined(OS2) || \ defined(MSDOS) || defined(__MSDOS__) || defined(DOS) || \ - defined(WIN32) || defined(__WIN32__) || defined(_WIN32) + defined(WIN32) || defined(__WIN32__) || defined(_WIN32)) #define DOSISH #endif diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/c-pathch.h ./texk/kpathsea/c-pathch.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/c-pathch.h 2001-11-12 08:45:59.000000000 +0100 +++ ./texk/kpathsea/c-pathch.h 2004-04-04 17:49:21.000000000 +0200 @@ -74,6 +74,12 @@ Foundation, Inc., 59 Temple Place - Suit #define IS_UNC_NAME(name) 0 #endif +#ifdef WIN32 +# define DEVICE_SEP_LEN 1 +#else +# define DEVICE_SEP_LEN 0 +#endif + /* What separates elements in environment variable path lists? */ #ifndef ENV_SEP #ifdef VMS diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/c-proto.h ./texk/kpathsea/c-proto.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/c-proto.h 2001-11-17 23:14:56.000000000 +0100 +++ ./texk/kpathsea/c-proto.h 2004-04-03 15:50:30.000000000 +0200 @@ -19,20 +19,30 @@ Foundation, Inc., 59 Temple Place - Suit #ifndef KPATHSEA_C_PROTO_H #define KPATHSEA_C_PROTO_H -#if defined(WIN32) -#ifdef KPSE_DLL +#if defined (KPSE_DLL) && (defined (WIN32) || defined (__CYGWIN__)) +#ifdef __CYGWIN__ #ifdef MAKE_KPSE_DLL -#define KPSEDLL __declspec( dllexport) -#else -#define KPSEDLL __declspec( dllimport) -#endif -#else #define KPSEDLL +#define KPSEDLL_EXPORT +#else /* ! MAKE_KPSE_DLL */ +#define KPSEDLL __declspec(dllimport) +#define KPSEDLL_EXPORT #endif -#else /* ! WIN32 */ + +#else /* ! __CYGWIN__ */ +#ifdef MAKE_KPSE_DLL #define KPSEDLL +#define KPSEDLL_EXPORT __declspec(dllexport) +#else /* ! MAKE_KPSE_DLL */ +#define KPSEDLL __declspec(dllimport) +#define KPSEDLL_EXPORT +#endif #endif +#else /* ! (KPSE_DLL && (WIN32 || __CYGWIN__)) */ +#define KPSEDLL +#define KPSEDLL_EXPORT +#endif /* These macros munge function declarations to make them work in both cases. The P?H macros are used for declarations, the P?C for diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/elt-dirs.c ./texk/kpathsea/elt-dirs.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/elt-dirs.c 2001-10-22 23:31:30.000000000 +0200 +++ ./texk/kpathsea/elt-dirs.c 2004-04-04 13:06:29.000000000 +0200 @@ -357,6 +357,7 @@ expand_elt P3C(str_llist_type *, str_lis handle well filenames like c://dir/foo. So canonicalize the names. The resulting name will always be shorter than the one passed, so no problem. + - Similarly for Cygwin, re(mem)move multiple leading slashes. - If possible, we merely skip multiple leading slashes to prevent expanding from the root of a UNIX filesystem tree. */ @@ -375,15 +376,27 @@ kpse_normalize_path P1C(string, elt) memmove(elt+3, elt+i, strlen(elt+i) + 1); ret = 2; } else if (IS_UNC_NAME(elt)) { - for (ret = 2; elt[ret] && !IS_DIR_SEP(elt[ret]); ++ret) + for (ret = 1 + DEVICE_SEP_LEN; elt[ret] && !IS_DIR_SEP(elt[ret]); ++ret) ; for (i = ret; elt[i] && IS_DIR_SEP(elt[i]); ++i) ; - if (i > ret+1) - memmove(elt+ret+1, elt+i, strlen(elt+i) + 1); + if (i > ret + DEVICE_SEP_LEN) + memmove(elt+ret+DEVICE_SEP_LEN, elt+i, strlen(elt+i) + 1); } else { + char* p; for (ret = 0; IS_DIR_SEP(elt[ret]); ++ret) ; +#ifdef __CYGWIN__ + /* Collapse UNC prefixes, unless evironment var KPSE_SEARCH_UNC + is set. + + Names like //share/texmf-local and //texmf/web2c are UNC + paths, and trigger hostname lookups; which is not what a + casual user wants. */ + p = getenv ("KPSE_SEARCH_UNC"); + if (ret > 1 && !(p && strcasecmp (p, "no"))) + memmove(elt, elt+ret-1, strlen(elt+ret) + 1); +#endif } if (KPSE_DEBUG_P (KPSE_DEBUG_STAT)) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/getopt.h ./texk/kpathsea/getopt.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/getopt.h 2000-04-03 21:35:25.000000000 +0200 +++ ./texk/kpathsea/getopt.h 2004-04-03 15:54:00.000000000 +0200 @@ -26,17 +26,31 @@ #ifndef __STDC__ #define __STDC__ 1 #endif -#if defined (KPSE_DLL) || defined (GNUW32_DLL) -#if defined (MAKE_KPSE_DLL) || defined (MAKE_GNUW32_DLL) -#define KPSEDLL __declspec( dllexport) -#else -#define KPSEDLL __declspec( dllimport) #endif -#else + +#if defined (KPSE_DLL) && (defined (WIN32) || defined (__CYGWIN__)) +#ifdef __CYGWIN__ +#ifdef MAKE_KPSE_DLL +#define KPSEDLL +#define KPSEDLL_EXPORT +#else /* ! MAKE_KPSE_DLL */ +#define KPSEDLL __declspec(dllimport) +#define KPSEDLL_EXPORT +#endif + +#else /* ! __CYGWIN__ */ +#ifdef MAKE_KPSE_DLL #define KPSEDLL +#define KPSEDLL_EXPORT __declspec(dllexport) +#else /* ! MAKE_KPSE_DLL */ +#define KPSEDLL __declspec(dllimport) +#define KPSEDLL_EXPORT #endif -#else /* ! WIN32 */ +#endif + +#else /* ! (KPSE_DLL && (WIN32 || __CYGWIN__)) */ #define KPSEDLL +#define KPSEDLL_EXPORT #endif #ifdef __cplusplus Files /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/.libs/kpsewhich and ./texk/kpathsea/.libs/kpsewhich differ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/Makefile.in ./texk/kpathsea/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/Makefile.in 2004-02-07 22:54:57.000000000 +0100 +++ ./texk/kpathsea/Makefile.in 2004-03-29 15:57:25.000000000 +0200 @@ -36,7 +36,7 @@ library = kpathsea KPATHSEA_CC = $(LIBTOOL) --mode=compile "$(CC)" .SUFFIXES: .lo .c.lo: - $(KPATHSEA_CC) $(ALL_CFLAGS) -c $< + $(KPATHSEA_CC) $(ALL_CFLAGS) -DMAKE_KPSE_DLL -c $< default all: kpsewhich kpsestat access readlink $(library).info manfiles diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/mktexlsr ./texk/kpathsea/mktexlsr --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/mktexlsr 2002-10-22 20:34:07.000000000 +0200 +++ ./texk/kpathsea/mktexlsr 2004-04-04 12:44:03.000000000 +0200 @@ -23,9 +23,15 @@ build ls-R for. Else all directories in (\$TEXMFDBS) are used." # MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate -# directories in path lists whereas Unix uses `:'. +# directories in path lists whereas Unix uses `:'. Cygwin also +# defines COMPSEC, but is not DOSISH. # Create a variable that holds the right character to be used by the scripts. -if test -z "$COMSPEC" && test -z "$ComSpec"; then SEP=':'; else SEP=';'; fi +DOSISH=no +case `uname -s` in + CYGWIN*|Cygwin*|cygwin*) ;; + *) if test -n "$COMSPEC" -o -n "$ComSpec"; then DOSISH=yes; fi +esac +if test "$DOSISH" = "no"; then SEP=':'; else SEP=';';fi # Add the location of the script to the PATH if necessary. This must # be done before kpsewhich can be called, and thus cannot be put into diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/mktex.opt ./texk/kpathsea/mktex.opt --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/mktex.opt 2002-10-22 20:33:24.000000000 +0200 +++ ./texk/kpathsea/mktex.opt 2004-04-04 12:44:03.000000000 +0200 @@ -24,9 +24,15 @@ elif test $# -gt ${mt_max_args-1}; then fi # MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate -# directories in path lists whereas Unix uses `:'. +# directories in path lists whereas Unix uses `:'. Cygwin also +# defines a COMPSEC, but is not DOSISH. # Create a variable that holds the right character to be used by the scripts. -if test -z "$COMSPEC" && test -z "$ComSpec"; then SEP=':'; else SEP=';'; fi +DOSISH=no +case `uname -s` in + CYGWIN*|Cygwin*|cygwin*) ;; + *) if test -n "$COMSPEC" -o -n "$ComSpec"; then DOSISH=yes; fi +esac +if test "$DOSISH" = "no"; then SEP=':'; else SEP=';';fi # TEMPDIR needs to be unique to each process because of the possibility of two # people running dvips (or whatever) simultaneously. @@ -91,10 +97,10 @@ test -n "$MT_MKTEX_CNF" && test -r "$MT_ # Possible features: appendonlydir dosnames fontmaps nomfdrivers nomode # stripsupplier striptypeface varfonts. -if test -n "$COMSPEC"; then - : ${MT_FEATURES=appendonlydir:dosnames} -else +if test "$DOSISH" = "no"; then : ${MT_FEATURES=appendonlydir} +else + : ${MT_FEATURES=appendonlydir:dosnames} fi : ${MODE=ljfour} : ${BDPI=600} diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/version.c ./texk/kpathsea/version.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/version.c 1999-01-26 21:34:19.000000000 +0100 +++ ./texk/kpathsea/version.c 2004-03-29 15:57:25.000000000 +0200 @@ -1,7 +1,7 @@ #include "c-auto.h" #include -KPSEDLL char *kpathsea_version_string = (char *) KPSEVERSION; +KPSEDLL_EXPORT char *kpathsea_version_string = (char *) KPSEVERSION; /* If you are redistributing a modified version of my original distribution, please change this address. @@ -11,5 +11,5 @@ KPSEDLL char *kpathsea_version_string = Thanks. --kb@cs.umb.edu */ -KPSEDLL char *kpse_bug_address = (char *) +KPSEDLL_EXPORT char *kpse_bug_address = (char *) "Email bug reports to tex-k@mail.tug.org.\n"; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/xdirname.c ./texk/kpathsea/xdirname.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/kpathsea/xdirname.c 2001-11-17 22:33:10.000000000 +0100 +++ ./texk/kpathsea/xdirname.c 2004-03-29 15:57:25.000000000 +0200 @@ -37,7 +37,7 @@ xdirname P1C(const_string, name) if (NAME_BEGINS_WITH_DEVICE(name)) { limit = 2; -#ifdef WIN32 +#if defined (WIN32) || defined (__CYGWIN__) } else if (IS_UNC_NAME(name)) { for (limit = 2; name[limit] && !IS_DIR_SEP(name[limit]); limit++) ; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/ChangeLog ./texk/make/ChangeLog --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/ChangeLog 2003-02-17 08:35:11.000000000 +0100 +++ ./texk/make/ChangeLog 2004-04-04 17:57:09.000000000 +0200 @@ -1,3 +1,8 @@ +2004-04-04 Jan Nieuwenhuizen + + * common.mk: + * programs.mk: Add cross compilation support. + 2003-02-17 Olaf Weber * clean.mk (clean): Don't abort if libtool returns an error; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/common.mk ./texk/make/common.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/common.mk 2003-02-15 13:56:50.000000000 +0100 +++ ./texk/make/common.mk 2004-04-04 10:16:27.000000000 +0200 @@ -21,6 +21,7 @@ ALL_CPPFLAGS = $(DEFS) -I. -I$(srcdir) - -I$(kpathsea_srcdir_parent) $(prog_cflags) $(CPPFLAGS) ALL_CFLAGS = $(ALL_CPPFLAGS) $(CFLAGS) compile = $(CC) $(ALL_CFLAGS) +build_compile = $(BUILD_CC) $(BUILD_CFLAGS) .SUFFIXES: .SUFFIXES: .c .o .lo # in case the suffix list has been cleared, e.g., by web2c @@ -49,4 +50,37 @@ kpathsea = $(kpathsea_dir)/libkpathsea.l @MAINT@XDEFS = -Wpointer-arith $(warn_more) @MAINT@CFLAGS = -g $(XCFLAGS) @MAINT@endif + +## Cross build stuff -- jcn + +cross_compiling = @cross_compiling@ +for-build = @for_build@ +BUILD_CC = @BUILD_CC@ +BUILD_CCLD = @BUILD_CCLD@ +BUILD_CFLAGS = $(ALL_CFLAGS) + + +## Override default rule; this should be compiled for BUILD host. +%-for-build.o: %.c + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_compile) -c $< -o $@; \ + else \ + $(compile) $<; \ + fi + +## Override default rule; this should run on BUILD host. +%-for-build: %-for-build.o + @rm -f $@ + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_kpathsea_link) $< $(BUILD_LOADLIBES); \ + else \ + $(kpathsea_link) $< $(LOADLIBES); \ + fi + +%: %.exe + cp -f $< $@ + +%-for-build: %-for-build.exe + cp -f $< $@ + # End of common.mk. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/programs.mk ./texk/make/programs.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/make/programs.mk 2003-02-15 13:57:13.000000000 +0100 +++ ./texk/make/programs.mk 2004-04-04 11:55:31.000000000 +0200 @@ -7,13 +7,17 @@ LDFLAGS = @LDFLAGS@ $(XLDFLAGS) # proglib is for web2c; # XLOADLIBES is for the installer. LIBS = @LIBS@ -LOADLIBES = $(proglib) $(kpathsea) $(LIBS) $(XLOADLIBES) +LOADLIBES = $(proglib) -L$(kpathsea_dir) -lkpathsea $(XLOADLIBES) +BUILD_LOADLIBES = $(proglib-for-build) -lkpathsea -lm # May as well separate linking from compiling, just in case. CCLD = $(CC) link_command = $(CCLD) -o $@ $(LDFLAGS) +build_link_command = $(BUILD_CCLD) -o $@ $(LDFLAGS) # When we link with Kpathsea, have to take account that it might be a # shared library, etc. kpathsea_link = $(LIBTOOL) --mode=link $(link_command) +build_kpathsea_link = $(BUILD_CCLD) -o $@ + # End of programs.mk. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/makeindexk/configure.in ./texk/makeindexk/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/makeindexk/configure.in 2002-10-02 14:29:04.000000000 +0200 +++ ./texk/makeindexk/configure.in 2003-08-19 14:11:11.000000000 +0200 @@ -9,6 +9,7 @@ AC_PROG_MAKE_SET AC_PROG_LN_S sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) AC_ARG_PROGRAM AC_HAVE_HEADERS(ctype.h types.h locale.h) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/ps2pkm/configure.in ./texk/ps2pkm/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/ps2pkm/configure.in 2001-10-30 22:09:23.000000000 +0100 +++ ./texk/ps2pkm/configure.in 2003-08-19 13:52:35.000000000 +0200 @@ -9,6 +9,7 @@ AC_PROG_MAKE_SET AC_PROG_LN_S sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) AC_CHECK_LIB(m, main) dnl Checks for header files. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/configure.in ./texk/tetex/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/configure.in 2002-11-01 19:19:16.000000000 +0100 +++ ./texk/tetex/configure.in 2003-08-19 14:11:11.000000000 +0200 @@ -7,5 +7,6 @@ AC_PROG_LN_S AC_PROG_MAKE_SET sinclude(../kpathsea/withenable.ac) +sinclude(../cross.ac) AC_OUTPUT(Makefile) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/epstopdf ./texk/tetex/epstopdf --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/epstopdf 2003-04-09 18:12:08.000000000 +0200 +++ ./texk/tetex/epstopdf 2004-03-29 15:57:25.000000000 +0200 @@ -58,7 +58,6 @@ my $title = "\U$program\E $fileversion, ### ghostscript command name my $GS = "gs"; $GS = "gswin32c" if $^O eq 'MSWin32'; -$GS = "gswin32c" if $^O =~ /cygwin/; if ($IsWin32) { $GS = `kpsecheck --ghostscript`; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/texconfig ./texk/tetex/texconfig --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/texconfig 2004-03-22 21:13:56.000000000 +0100 +++ ./texk/tetex/texconfig 2004-03-29 15:57:25.000000000 +0200 @@ -199,7 +199,7 @@ find_dialogtype() { { u=`uname -s`; } 2>/dev/null case "$u" in - FreeBSD|Linux) + FreeBSD|Linux|cygwin*|CYGWIN*) test -f /usr/bin/whiptail && DIALOG_PROG=/usr/bin/whiptail test -f /usr/bin/dialog && DIALOG_PROG=/usr/bin/dialog test -f /bin/dialog && DIALOG_PROG=/bin/dialog @@ -328,7 +328,7 @@ exist_test() { type=$1 ; name=$2; what=$3 if [ ! "$type" "$name" ]; then - msg="Could not find $what." + msg="Could not find $what. ($name)" if test -f "$log"; then msg="$msg\\n\\nThe program will show you the error-log and then exit." else diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/thumbpdf ./texk/tetex/thumbpdf --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/tetex/thumbpdf 2003-06-06 14:36:00.000000000 +0200 +++ ./texk/tetex/thumbpdf 2004-03-29 15:57:25.000000000 +0200 @@ -126,6 +126,8 @@ my $copyright = "Copyright (c) 1999-20 # THB_DistillerPatch also applied to ghostscript >= 8.00. # 2003/06/06 v3.4 # * Bug fix, two forgotten "pop"s added for Distiller case. +# 2002/07/17 v3.2.jcn1 +# * Fix: Revert Cygwin detection: is unix. # ### program identification @@ -140,12 +142,10 @@ my $GS = "gs"; $GS = "gs386" if $^O =~ /dos/i; $GS = "gsos2" if $^O =~ /os2/i; $GS = "gswin32c" if $^O =~ /mswin32/i; -$GS = "gswin32c" if $^O =~ /cygwin/i; # Windows detection (no SIGHUP) my $Win = 0; $Win = 1 if $^O =~ /mswin32/i; -$Win = 1 if $^O =~ /cygwin/i; my $gspages = 1; $gspages = 0 if $^O =~ /dos/i; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/alephdir/aleph.mk ./texk/web2c/alephdir/aleph.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/alephdir/aleph.mk 2004-03-22 20:06:22.000000000 +0100 +++ ./texk/web2c/alephdir/aleph.mk 2004-04-04 13:03:19.000000000 +0200 @@ -44,8 +44,8 @@ alephmem.h: $(calephdir)/alephmem.h cp $(srcdir)/$(calephdir)/alephmem.h $@ # The Pascal file -aleph.p aleph.pool: otangle aleph.web aleph.ch - ./otangle aleph.web aleph.ch +aleph.p aleph.pool: ./otangleboot aleph.web aleph.ch + ./otangleboot aleph.web aleph.ch # Generation of the web and ch files. aleph.web: tie tex.web $(alephdir)/aleph.mk @@ -71,7 +71,7 @@ aleph.web: $(alephdir)/eonewdir-$(alephb aleph.web: $(alephdir)/eover-$(alephbuild).ch aleph.web: $(alephdir)/eopage-$(alephbuild).ch aleph.web: $(alephdir)/eochar-$(alephbuild).ch - ./tie -m aleph.web $(srcdir)/tex.web \ + ./tieboot -m aleph.web $(srcdir)/tex.web \ $(srcdir)/$(alephdir)/om16bit.ch \ $(srcdir)/$(alephdir)/omstr.ch \ $(srcdir)/$(alephdir)/omfont.ch \ @@ -107,7 +107,7 @@ aleph.ch: $(calephdir)/comtrans.ch aleph.ch: $(calephdir)/comdir.ch aleph.ch: $(calephdir)/comsrcspec.ch aleph.ch: $(calephdir)/ceostuff.ch - ./tie -c aleph.ch aleph.web \ + ./tieboot -c aleph.ch aleph.web \ $(srcdir)/$(calephdir)/com16bit-$(alephbuild).ch \ $(srcdir)/$(calephdir)/comstr.ch \ $(srcdir)/$(calephdir)/comfont.ch \ Files /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/a.out and ./texk/web2c/a.out differ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/ChangeLog ./texk/web2c/ChangeLog --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/ChangeLog 2003-02-19 21:43:03.000000000 +0100 +++ ./texk/web2c/ChangeLog 2004-04-04 18:02:48.000000000 +0200 @@ -1,3 +1,22 @@ +2004-04-04 Jan Nieuwenhuizen + + * doc/Makefile.in (ref.bbl, ref.aux): Bugfix: add $(srcdir) to + search path. + +2004-04-03 Jan Nieuwenhuizen + + * omegadir/omega.mk (otangleboot): New target. Use it during + build (WAS: ./otangle). + + * Makefile.in (ctangleboot, tangleboot): Add rule for cross + compiling, to use BUILD_CC, BUILD_LD. Use exclusively during + build (WAS: ./ctangle, ./tangle). + (tieboot): New target. Use exclusively during build (WAS: tie). + + * config.h: Add TEX_DLL import/export logic for Cygwin. + + * Makefile.in (VPATH): Bugfix: add $(srcdir) and $(srcdir)/cwebdir. + 2003-02-19 Olaf Weber * doc/web2c.texi: Version 7.5.2. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/config.h ./texk/web2c/config.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/config.h 2003-02-02 18:31:11.000000000 +0100 +++ ./texk/web2c/config.h 2004-04-03 19:49:10.000000000 +0200 @@ -19,18 +19,29 @@ Foundation, Inc., 675 Mass Ave, Cambridg #ifndef WEB2C_CONFIG_H #define WEB2C_CONFIG_H -#if defined(WIN32) -#ifdef TEX_DLL +#if defined (TEX_DLL) && (defined (WIN32) || defined (__CYGWIN__)) +#ifdef __CYGWIN__ #ifdef MAKE_TEX_DLL -#define TEXDLL __declspec( dllexport) -#else -#define TEXDLL __declspec( dllimport) +#define TEXDLL +#define TEXDLL_EXPORT +#else /* ! MAKE_TEX_DLL */ +#define TEXDLL __declspec(dllimport) +#define TEXDLL_EXPORT #endif -#else + +#else /* ! __CYGWIN__ */ +#ifdef MAKE_TEX_DLL #define TEXDLL +#define TEXDLL_EXPORT __declspec(dllexport) +#else /* ! MAKE_TEX_DLL */ +#define TEXDLL __declspec(dllimport) +#define TEXDLL_EXPORT +#endif #endif -#else /* ! WIN32 */ + +#else /* ! (TEX_DLL && (WIN32 || __CYGWIN__)) */ #define TEXDLL +#define TEXDLL_EXPORT #endif /* The stuff from the path searching library. */ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/configure.in ./texk/web2c/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/configure.in 2004-03-22 18:54:31.000000000 +0100 +++ ./texk/web2c/configure.in 2004-04-04 11:07:55.000000000 +0200 @@ -89,6 +89,7 @@ test "x$with_x" = xno && with_x_toolkit= : ${with_x=no} # tell PATH_XTRA no X by default, if not specified. sinclude(withenable.ac) +sinclude(../cross.ac) sinclude(../kpathsea/withenable.ac) sinclude(../../libs/zlib/withenable.ac) sinclude(../../libs/libpng/withenable.ac) @@ -306,11 +307,11 @@ else with_etex=no fi if test "x$with_etex" = xyes; then - ETEX= + NETEX= else - ETEX='#! ' + NETEX='#! ' fi -AC_SUBST(ETEX) +AC_SUBST(NETEX) # --with-x* options: Distinguish no X at all, no toolkit, or toolkit. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/doc/Makefile.in ./texk/web2c/doc/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/doc/Makefile.in 2003-02-16 17:09:20.000000000 +0100 +++ ./texk/web2c/doc/Makefile.in 2004-04-04 18:04:11.000000000 +0200 @@ -36,11 +36,11 @@ all: web2c.info web2c.dvi @MAINT@ $< >$@ @MAINT@ @MAINT@ref.bbl: ref.aux texinfo.bst -@MAINT@ -bibtex ref +@MAINT@ -BIBINPUTS=$(srcdir): bibtex ref @MAINT@ @MAINT@ref.aux: ref.tex @MAINT@ rm -f ref.bbl -@MAINT@ tex '\nonstopmode \input ref' +@MAINT@ TEXINPUTS=$(srcdir): tex '\nonstopmode \input ref' Makefile: Makefile.in ../config.status cd .. && $(SHELL) config.status diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/etexdir/etex.mk ./texk/web2c/etexdir/etex.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/etexdir/etex.mk 2004-03-11 03:40:26.000000000 +0100 +++ ./texk/web2c/etexdir/etex.mk 2004-04-04 17:22:31.000000000 +0200 @@ -5,7 +5,9 @@ Makefile: etexdir/etex.mk # We build etex. -etex =@ETEX@ etex +etex =@NETEX@ etex + +ETEX = @ETEX@ # The C sources. etex_c = etexini.c etex0.c etex1.c etex2.c @@ -22,17 +24,17 @@ etexextra.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/etex/ $(srcdir)/lib/texmfmp.c >$@ # Tangling -etex.p etex.pool: tangle etex.web etex.ch - ./tangle etex.web etex.ch +etex.p etex.pool: ./tangleboot etex.web etex.ch + ./tangleboot etex.web etex.ch # Generation of the web and ch file. -etex.web: tie tex.web \ +etex.web: ./tieboot tex.web \ etexdir/etex.ch0 \ etexdir/etex.ch \ etexdir/etex.fix \ etexdir/etex.ch1 \ etexdir/etex.mk - ./tie -m etex.web $(srcdir)/tex.web \ + ./tieboot -m etex.web $(srcdir)/tex.web \ $(srcdir)/etexdir/etex.ch0 \ $(srcdir)/etexdir/etex.ch \ $(srcdir)/etexdir/etex.fix \ @@ -44,7 +46,7 @@ etex.ch: tie etex.web \ etexdir/tex.ech \ etexdir/tex.ch2 \ etexdir/etex.mk - ./tie -c etex.ch etex.web \ + ./tieboot -c etex.ch etex.web \ $(srcdir)/etexdir/tex.ch0 \ $(srcdir)/tex.ch \ $(srcdir)/etexdir/tex.ch1 \ @@ -96,7 +98,7 @@ triptrap: etrip etrip: pltotf tftopl etex dvitype etrip-clean @echo ">>> See $(etestdir)/etrip.diffs for example of acceptable diffs." >&2 @echo "*** TRIP test for e-TeX in compatibility mode ***." - ./pltotf $(testdir)/trip.pl trip.tfm + ./pltof $(testdir)/trip.pl trip.tfm ./tftopl ./trip.tfm trip.pl -diff $(testdir)/trip.pl trip.pl $(LN) $(testdir)/trip.tex . # get same filename in log @@ -201,6 +203,6 @@ install-etex-fmts: efmts for f in $$efmts; do $(INSTALL_DATA) $$f $(fmtdir)/$$f; done install-data install-etex-data:: $(texpooldir) -@ETEX@ $(INSTALL_DATA) etex.pool $(texpooldir)/etex.pool +@NETEX@ $(INSTALL_DATA) etex.pool $(texpooldir)/etex.pool # end of etex.mk diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/ChangeLog ./texk/web2c/lib/ChangeLog --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/ChangeLog 2003-02-16 14:46:16.000000000 +0100 +++ ./texk/web2c/lib/ChangeLog 2004-04-03 19:36:44.000000000 +0200 @@ -1,3 +1,8 @@ +2004-04-03 Jan Nieuwenhuizen + + * texmfmp.c (maininit)[TEXDLL]: Mark as EXPORT, at start of + signature. + 2003-02-16 Olaf Weber * texmfmp.c: Update banners for TeX 3.141592, MF 2.71828. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/Makefile.in ./texk/web2c/lib/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/Makefile.in 2002-10-20 14:24:39.000000000 +0200 +++ ./texk/web2c/lib/Makefile.in 2004-04-04 10:16:53.000000000 +0200 @@ -13,7 +13,7 @@ objects = alloca.o basechsuffix.o charto eofeoln.o fprintreal.o inputint.o input2int.o main.o \ openclose.o printversion.o uexit.o usage.o version.o zround.o -default all: $(library).a +default all: $(library)$(for-build).a $(library).a $(library).a: $(objects) rm -f $@ $(AR) $(ARFLAGS) $@ $(objects) @@ -24,6 +24,14 @@ $(library).a: $(objects) alloca.o: alloca.c $(CC) $(CFLAGS) -c $(srcdir)/alloca.c +alloca-for-build.o: alloca.c + $(build_compile) -c $(srcdir)/alloca.c -o $@ + $(MAKE) for-build= CC="$(BUILD_CC)" lib.a + for i in $(objects); do mv $$i `basename $$i .o`-for-build.o; done + mv lib.a lib-for-build.a + +lib-for-build.a: alloca-for-build.o + Makefile: Makefile.in ../config.status cd .. && $(SHELL) config.status diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/texmfmp.c ./texk/web2c/lib/texmfmp.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/lib/texmfmp.c 2004-03-22 19:04:17.000000000 +0100 +++ ./texk/web2c/lib/texmfmp.c 2004-04-03 19:36:01.000000000 +0200 @@ -153,7 +153,7 @@ string locale_name = ""; /* The entry point: set up for reading the command line, which will happen in `topenin', then call the main body. */ -void TEXDLL +TEXDLL_EXPORT void maininit P2C(int, ac, string *, av) { /* Save to pass along to topenin. */ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/Makefile.in ./texk/web2c/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/Makefile.in 2004-03-22 18:56:16.000000000 +0100 +++ ./texk/web2c/Makefile.in 2004-04-04 12:44:03.000000000 +0200 @@ -32,10 +32,21 @@ ac_include ../make/paths.mk DIFF = diff DIFFFLAGS = +KPSEWHICH = @KPSEWHICH@ +TEX = @TEX@ +ETEX = @ETEX@ +PDFTEX = @PDFTEX@ +PDFETEX = @PDFETEX@ +MF = @MF@ +MPOST = @MPOST@ +OMEGA = @OMEGA@ + .SUFFIXES: # get rid of .p.o ac_include ../make/common.mk ac_include ../make/programs.mk +VPATH = $(srcdir):$(srcdir)/cwebdir + CXX = @CXX@ CXXLD = $(CXX) cxx_link_command = $(CXXLD) -o $@ $(LDFLAGS) @@ -71,6 +82,7 @@ install_makeargs = INSTALL='$(INSTALL)' $(makevars) $(common_makeargs) proglib = lib/lib.a +proglib-for-build = lib/lib-for-build.a windowlib = window/window.a @PANYTEX@ZLIBDIR=../../libs/zlib @PANYTEX@ZLIBSRCDIR=$(srcdir)/$(ZLIBDIR) @@ -99,7 +111,7 @@ web2c_programs = web2c/fixwrites web2c/s web2c_texmf = $(web2c_common) $(web2c_programs) web2c/texmf.defines web2c/coerce.h # Calling tangle -tangle = WEBINPUTS=$(srcdir) ./tangle +tangle = WEBINPUTS=$(srcdir) ./tangleboot # The environment for making dumps. dumpenv = TEXMFCNF=../kpathsea TEXMF=$(texmf) @@ -110,7 +122,7 @@ dumpenv = TEXMFCNF=../kpathsea TEXMF=$(t #.p.c: # really depends on $(web2c_programs), and generates .h. # $(web2c) $* #.ch.p: # really depends on ./tangle; for mf/mp/tex, also generates .pool -# ./tangle $(srcdir)/$*.web $< +# $(TANGLE) $(srcdir)/$*.web $< # These definitions have to come before the rules that expand them. # The *{ini,[0-2]}.c files are created by splitup, run as part of convert. @@ -150,8 +162,8 @@ bibtex-clean: cweave: cweave.o cweb.o $(kpathsea_link) cweave.o cweb.o $(LOADLIBES) -cweave.c: ctangle cwebdir/cweave.w cwebdir/cweav-w2c.ch - CWEBINPUTS=$(srcdir)/cwebdir ./ctangle cweave cweav-w2c +cweave.c: ./ctangleboot cwebdir/cweave.w cwebdir/cweav-w2c.ch + CWEBINPUTS=$(srcdir)/cwebdir ./ctangleboot cweave cweav-w2c check: cweave-check cweave-check: cweave CWEBINPUTS=$(srcdir)/cwebdir ./cweave common.w @@ -358,8 +370,20 @@ pooltype-clean: tie: tie.o $(kpathsea_link) tie.o $(LOADLIBES) -tie.c: ctangle tiedir/tie.w tiedir/tie-w2c.ch - CWEBINPUTS=$(srcdir)/tiedir ./ctangle tie.w tie-w2c.ch +tie.c: ./ctangleboot tiedir/tie.w tiedir/tie-w2c.ch + CWEBINPUTS=$(srcdir)/tiedir ./ctangleboot tie.w tie-w2c.ch + +tieboot.c: tie.c + cp -pv $< $@ +tieboot_objects = tieboot.o +tieboot_objects-for-build = tieboot$(for-build).o +tieboot: $(tieboot_objects$(for-build)) + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_kpathsea_link) $(tieboot_objects-for-build) $(BUILD_LOADLIBES); \ + else \ + $(kpathsea_link) $(tieboot_objects) $(LOADLIBES); \ + fi + clean:: tie-clean tie-clean: $(LIBTOOL) --mode=clean rm -f tie @@ -450,7 +474,7 @@ mfextra.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/mf/ $(srcdir)/lib/texmfmp.c >$@ mfnowin.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/mf/ $(srcdir)/lib/texmfmp.c >$@ -mf.p mf.pool: tangle mf.web mf.ch +mf.p mf.pool: ./tangleboot mf.web mf.ch $(tangle) mf.web mf.ch check: mf-check mf-check: trap mf.base @@ -500,7 +524,7 @@ $(mp_c) mpcoerce.h mpd.h: mp.p $(web2c_t $(web2c) mp mpextra.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/mp/ $(srcdir)/lib/texmfmp.c >$@ -mp.p mp.pool: tangle mp.web mp.ch +mp.p mp.pool: ./tangleboot mp.web mp.ch $(tangle) mp.web mp.ch check: mpost-check mpost-check: mptrap mpost.mem $(mpware) @@ -569,7 +593,7 @@ $(tex_c) texcoerce.h texd.h: tex.p $(web $(web2c) tex texextra.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/tex/ $(srcdir)/lib/texmfmp.c >$@ -tex.p tex.pool: tangle tex.web tex.ch +tex.p tex.pool: ./tangleboot tex.web tex.ch $(tangle) tex.web tex.ch check: tex-check tex-check: trip tex.fmt @@ -665,7 +689,7 @@ tangle.c tangle.h: tangle.p # tangle.p is a special case, since it is needed to compile itself. We # convert and compile the (distributed) tangleboot.p to make a tangle # which we use to make the other programs. -tangle.p: tangleboot tangle.web tangle.ch +tangle.p: ./tangleboot tangle.web tangle.ch WEBINPUTS=$(srcdir) ./tangleboot tangle tangle tangle.web: @echo "You seem to be missing tangle.web, perhaps because you" >&2 @@ -682,19 +706,29 @@ tangle-clean: $(LIBTOOL) --mode=clean rm -f tangle rm -f tangle.o tangle.c tangle.h tangle.p -tangleboot: tangleboot.o - $(kpathsea_link) tangleboot.o $(LOADLIBES) +tangleboot_objects = tangleboot.o +tangleboot_objects-for-build = tangleboot$(for-build).o +tangleboot: $(tangleboot_objects$(for-build)) + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_kpathsea_link) $(tangleboot_objects-for-build) $(BUILD_LOADLIBES); \ + else \ + $(kpathsea_link) $(tangleboot_objects) $(LOADLIBES); \ + fi tangleboot.c tangleboot.h: stamp-tangle $(web2c_programs) $(web2c_common) $(web2c) tangleboot # tangleboot.p is in the distribution -stamp-tangle: tangleboot.p +stamp-tangle: $(srcdir)/tangleboot.p date >stamp-tangle +%-for-build.c: %.c + cp -pv $< $@ +%-for-build.p: %.p + cp -pv $< $@ # This is not run unless tangle.web or tangle.ch is changed. -# Only try to run ./tangle if it actually exists, otherwise +# Only try to run ./tangleboot if it actually exists, otherwise # just touch tangleboot.p and build tangle. tangleboot.p: tangle.web tangle.ch - if [ -r ./tangle ] || [ -r ./tangle.exe ]; then \ - WEBINPUTS=$(srcdir) ./tangle tangle tangle; \ + if [ -r ./tangleboot ] || [ -r ./tangleboot.exe ]; then \ + WEBINPUTS=$(srcdir) ./tangleboot tangle tangle; \ mv tangle.p tangleboot.p; \ elif [ -r tangleboot.p ]; then \ touch tangleboot.p; \ @@ -714,9 +748,9 @@ ctangle: ctangle.o cweb.o $(kpathsea_link) ctangle.o cweb.o $(LOADLIBES) $(MAKE) $(common_makeargs) ctangleboot.c cwebboot.c # ctangle.c is a special case, since it is needed to compile itself. -ctangle.c: ctangleboot cwebdir/ctangle.w cwebdir/ctang-w2c.ch +ctangle.c: ./ctangleboot cwebdir/ctangle.w cwebdir/ctang-w2c.ch CWEBINPUTS=$(srcdir)/cwebdir ./ctangleboot ctangle ctang-w2c -cweb.c: ctangleboot cwebdir/common.w cwebdir/comm-w2c.ch +cweb.c: ./ctangleboot cwebdir/common.w cwebdir/comm-w2c.ch CWEBINPUTS=$(srcdir)/cwebdir ./ctangleboot common comm-w2c cweb.c clean:: ctangle-clean clean:: cweb-clean @@ -726,13 +760,19 @@ ctangle-clean: cweb-clean: rm -f cweb.o cweb.c -ctangleboot: ctangleboot.o cwebboot.o - $(kpathsea_link) ctangleboot.o cwebboot.o $(LOADLIBES) +ctangleboot_objects = ctangleboot.o cwebboot.o +ctangleboot_objects-for-build = ctangleboot$(for-build).o cwebboot$(for-build).o +ctangleboot: $(ctangleboot_objects$(for-build)) + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_kpathsea_link) $(ctangleboot_objects-for-build) $(BUILD_LOADLIBES); \ + else \ + $(kpathsea_link) $(ctangleboot_objects) $(LOADLIBES); \ + fi # ctangleboot.c is in the distribution stamp-ctangle: ctangleboot.c cwebboot.c ctangleboot.c: cwebdir/ctangle.w cwebdir/ctang-w2c.ch - if [ -r ./ctangle ] || [ -r ./ctangle.exe ]; then \ - CWEBINPUTS=$(srcdir)/cwebdir ./ctangle ctangle ctang-w2c; \ + if [ -r ./ctangleboot ] || [ -r ./ctangleboot.exe ]; then \ + CWEBINPUTS=$(srcdir)/cwebdir ./ctangleboot ctangle ctang-w2c; \ mv ctangle.c ctangleboot.c; \ else \ touch ctangleboot.c; \ @@ -741,7 +781,7 @@ ctangleboot.c: cwebdir/ctangle.w cwebdir $(MAKE) $(common_makeargs) ctangle cwebboot.c: cwebdir/common.w cwebdir/comm-w2c.ch if [ -r ./ctangle ] || [ -r ./ctangle.exe ]; then \ - CWEBINPUTS=$(srcdir)/cwebdir ./ctangle common comm-w2c cweb.c; \ + CWEBINPUTS=$(srcdir)/cwebdir ./ctangleboot common comm-w2c cweb.c; \ mv cweb.c cwebboot.c; \ else \ touch cwebboot.c; \ @@ -814,35 +854,35 @@ mems: $(all_mems) tex.fmt: tex $(dumpenv) $(MAKE) progname=tex files="plain.tex cmr10.tfm" prereq-check - $(dumpenv) ./tex --progname=tex --jobname=tex --ini \\input plain \\dump /dev/null || $(MAKE) prereq-lose >/dev/null + $(KPSEWHICH) --progname=$(progname) $(files) >/dev/null || $(MAKE) prereq-lose >/dev/null prereq-lose: @echo "You seem to be missing input files necessary to make the" >&2 @@ -860,15 +900,15 @@ prereq-lose: $(kpathsea_dir)/kpsewhich: $(kpathsea) amstex.fmt: tex - $(dumpenv) ./tex --progname=amstex --jobname=amstex --ini amstex.ini + + * dmp.c: Bugfix: include + 2003-02-15 Olaf Weber * Makefile.in: From klibtool to libtool. Based on patches from diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/mpware/dmp.c ./texk/web2c/mpware/dmp.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/mpware/dmp.c 2001-11-19 21:17:08.000000000 +0100 +++ ./texk/web2c/mpware/dmp.c 2004-04-03 15:24:34.000000000 +0200 @@ -42,6 +42,7 @@ char *banner="% Written by DMP, Version char *term_banner="This is DMP, Version 0.64"; #include "config.h" +#include #include #include #include diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/omegadir/omega.mk ./texk/web2c/omegadir/omega.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/omegadir/omega.mk 2004-03-10 22:04:02.000000000 +0100 +++ ./texk/web2c/omegadir/omega.mk 2004-04-04 12:36:40.000000000 +0200 @@ -25,7 +25,7 @@ odvicopy: odvicopy.o odvicopy.c odvicopy.h: $(web2c_common) $(web2c_programs) odvicopy.p $(web2c) odvicopy odvicopy.p: tangle omegaware/odvicopy.web omegaware/odvicopy.ch - WEBINPUTS=$(srcdir)/omegaware ./tangle odvicopy odvicopy + WEBINPUTS=$(srcdir)/omegaware ./tangleboot odvicopy odvicopy check: odvicopy-check odvicopy-check: odvicopy # ./odvicopy $(srcdir)/tests/story tests/xstory.dvi @@ -43,7 +43,7 @@ odvitype: odvitype.o odvitype.c odvitype.h: $(web2c_common) $(web2c_programs) odvitype.p $(web2c) odvitype odvitype.p: tangle omegaware/odvitype.web omegaware/odvitype.ch - WEBINPUTS=$(srcdir)/omegaware ./tangle odvitype odvitype + WEBINPUTS=$(srcdir)/omegaware ./tangleboot odvitype odvitype check: odvitype-check odvitype-check: odvitype # ./odvitype -show-opcodes $(srcdir)/tests/story >tests/xstory.dvityp @@ -59,7 +59,7 @@ otangle: otangle.o otangle.c otangle.h: $(web2c_common) $(web2c_programs) otangle.p $(web2c) otangle otangle.p: tangle omegaware/otangle.web omegaware/otangle.ch - WEBINPUTS=$(srcdir)/omegaware ./tangle otangle otangle + WEBINPUTS=$(srcdir)/omegaware ./tangleboot otangle otangle check: otangle-check otangle-check: otangle # otangling omega is a good check already @@ -68,6 +68,17 @@ otangle-clean: $(LIBTOOL) --mode=clean $(RM) otangle rm -f otangle.o otangle.c otangle.h otangle.p +otangleboot.c: otangle.c + cp -pv $< $@ +otangleboot_objects = otangleboot.o +otangleboot_objects-for-build = otangleboot$(for-build).o +otangleboot: $(otangleboot_objects$(for-build)) + if [ "$(cross_compiling)" = "yes" ]; then \ + $(build_kpathsea_link) $(otangleboot_objects-for-build) $(BUILD_LOADLIBES); \ + else \ + $(kpathsea_link) $(otangleboot_objects) $(LOADLIBES); \ + fi + # Omega itself. @@ -101,8 +112,8 @@ omegamem.h: omegadir/omegamem.h cp $(srcdir)/omegadir/omegamem.h $@ # The Pascal file -omega.p omega.pool: otangle omega.web omega.ch - ./otangle omega.web omega.ch +omega.p omega.pool: ./otangleboot omega.web omega.ch + ./otangleboot omega.web omega.ch # Generation of the web and ch files. omega.web: tie tex.web omegadir/omega.mk @@ -117,8 +128,8 @@ omega.web: omegadir/omocp.ch omega.web: omegadir/omfilter.ch omega.web: omegadir/omtrans.ch omega.web: omegadir/omdir.ch -omega.web: omegadir/omxml.ch - ./tie -m omega.web $(srcdir)/tex.web \ +omega.web: ./tieboot omegadir/omxml.ch + ./tieboot -m omega.web $(srcdir)/tex.web \ $(srcdir)/omegadir/omnode.ch \ $(srcdir)/omegadir/om16bit.ch \ $(srcdir)/omegadir/omstr.ch \ @@ -144,8 +155,8 @@ omega.ch: omegadir/comfilter.ch omega.ch: omegadir/comtrans.ch omega.ch: omegadir/comdir.ch omega.ch: omegadir/comxml.ch -omega.ch: omegadir/comsrcspec.ch - ./tie -c omega.ch omega.web \ +omega.ch: ./tieboot omegadir/comsrcspec.ch + ./tieboot -c omega.ch omega.web \ $(srcdir)/omegadir/comnode.ch \ $(srcdir)/omegadir/com16bit.ch \ $(srcdir)/omegadir/comstr.ch \ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/pdfetexdir/pdfetex.mk ./texk/web2c/pdfetexdir/pdfetex.mk --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/pdfetexdir/pdfetex.mk 2004-03-11 03:40:51.000000000 +0100 +++ ./texk/web2c/pdfetexdir/pdfetex.mk 2004-04-03 21:07:49.000000000 +0200 @@ -4,6 +4,8 @@ Makefile: $(srcdir)/pdfetexdir/pdfetex.mk +PDFETEX = @PDFETEX@ + # We build pdfetex pdfetex =@PETEX@ pdfetex pdfetexdir = pdfetexdir @@ -23,11 +25,11 @@ pdfetexextra.c: lib/texmfmp.c sed s/TEX-OR-MF-OR-MP/pdfetex/ $(srcdir)/lib/texmfmp.c >$@ # Tangling -pdfetex.p pdfetex.pool: tangle pdfetex.web pdfetex.ch - ./tangle pdfetex.web pdfetex.ch +pdfetex.p pdfetex.pool: ./tangleboot pdfetex.web pdfetex.ch + ./tangleboot pdfetex.web pdfetex.ch # Generation of the web and ch file. -pdfetex.web: tie tex.web \ +pdfetex.web: ./tieboot tex.web \ etexdir/etex.ch0 \ etexdir/etex.ch \ etexdir/etex.fix \ @@ -40,7 +42,7 @@ pdfetex.web: tie tex.web \ pdfetexdir/pdfetex.h \ pdfetexdir/pdfetex.defines \ pdfetexdir/pdfetex.mk - ./tie -m pdfetex.web $(srcdir)/tex.web \ + ./tieboot -m pdfetex.web $(srcdir)/tex.web \ $(srcdir)/etexdir/etex.ch0 \ $(srcdir)/etexdir/etex.ch \ $(srcdir)/etexdir/etex.fix \ @@ -50,10 +52,10 @@ pdfetex.web: tie tex.web \ $(srcdir)/pdftexdir/hz.ch \ $(srcdir)/pdftexdir/misc.ch \ $(srcdir)/pdfetexdir/pdfetex.ch2 -pdfetex.ch: tie pdfetex.web pdfetexdir/tex.ch0 tex.ch etexdir/tex.ch1 \ +pdfetex.ch: ./tieboot pdfetex.web pdfetexdir/tex.ch0 tex.ch etexdir/tex.ch1 \ etexdir/tex.ech etexdir/tex.ch2 pdfetexdir/tex.ch1 \ pdftexdir/tex.pch pdfetexdir/tex.ch2 pdfetexdir/pdfetex.mk - ./tie -c pdfetex.ch pdfetex.web \ + ./tieboot -c pdfetex.ch pdfetex.web \ $(srcdir)/pdfetexdir/tex.ch0 \ $(srcdir)/tex.ch \ $(srcdir)/etexdir/tex.ch1 \ @@ -85,15 +87,15 @@ pdfefmts: $(all_pdfefmts) pdfetex.efmt: pdfetex $(dumpenv) $(MAKE) progname=pdfetex files="etex.src plain.tex cmr10.tfm" prereq-check - $(dumpenv) ./pdfetex --progname=pdfetex --jobname=pdfetex --ini \*\\pdfoutput=1\\input etex.src \\dump $@ # Tangling. -pdftex.p pdftex.pool: tangle pdftex.web pdftex.ch - ./tangle pdftex.web pdftex.ch +pdftex.p pdftex.pool: ./tangleboot pdftex.web pdftex.ch + ./tangleboot pdftex.web pdftex.ch # Generation of the web and ch files. -pdftex.web: tie tex.web pdftexdir/pdftex.mk \ +pdftex.web: ./tieboot tex.web pdftexdir/pdftex.mk \ pdftexdir/pdftex.ch \ pdftexdir/hz.ch \ pdftexdir/misc.ch - ./tie -m pdftex.web $(srcdir)/tex.web \ + ./tieboot -m pdftex.web $(srcdir)/tex.web \ $(srcdir)/pdftexdir/pdftex.ch \ $(srcdir)/pdftexdir/hz.ch \ $(srcdir)/pdftexdir/misc.ch -pdftex.ch: tie pdftex.web pdftexdir/tex.ch0 tex.ch pdftexdir/tex.ch1 \ +pdftex.ch: ./tieboot pdftex.web pdftexdir/tex.ch0 tex.ch pdftexdir/tex.ch1 \ pdftexdir/tex.pch pdftexdir/tex.ch2 pdftexdir/pdftex.mk - ./tie -c pdftex.ch pdftex.web \ + ./tieboot -c pdftex.ch pdftex.web \ $(srcdir)/pdftexdir/tex.ch0 \ $(srcdir)/tex.ch \ $(srcdir)/pdftexdir/tex.ch1 \ @@ -76,19 +78,19 @@ dumps: pdffmts pdffmts: $(all_pdffmts) pdftex.fmt: pdftex $(dumpenv) $(MAKE) progname=pdftex files="plain.tex cmr10.tfm" prereq-check - $(dumpenv) ./pdftex --progname=pdftex --jobname=pdftex --ini \\pdfoutput=1 \\input plain \\dump + + Detach C scripts from libraries + + * Makefile.in: Use BUILD_CC and BUILD_CCLD for C scripts, do not + link against kpathsea or ../lib.a. + + * web2c.y (upcase): New function. + + * splitup.c (main): Use plain exit (WAS: uexit). + (main): Use plain fopen and fclose (WAS: xfclose, xfopen). + + * fixwrites.c (remove_newline, main): Use plain exit (WAS: uexit). + * fixwrites.c (main): Do not call kpse_set_program_name (Comment said: + `in case we call FATAL', but there is no such call anyway). + 2003-02-17 Olaf Weber * convert: We no longer have more than 10 basefiles. diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/convert ./texk/web2c/web2c/convert --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/convert 2004-03-22 19:09:28.000000000 +0100 +++ ./texk/web2c/web2c/convert 2004-03-29 14:37:02.000000000 +0200 @@ -45,6 +45,14 @@ postcmd= output="> $cfile" output_files="$cfile $basefile.h" +fixwrites='./web2c/fixwrites' +splitup='./web2c/splitup' +web2c='./web2c/web2c' + +f=./web2c/fixwrites-for-build && test -x $f && fixwrites=$f +f=./web2c/splitup-for-build && test -x $f && splitup=$f +f=./web2c/web2c-for-build && test -x $f && web2c=$f + case $basefile in bibtex) midcmd="| sed -f $srcdir/web2c/cvtbib.sed";; @@ -54,7 +62,7 @@ case $basefile in web2c_options="-m -c${basefile}coerce" hfile=texmfmp.h midcmd="| sed -f $srcdir/web2c/cvtmf2.sed" - postcmd="| ./web2c/splitup $splitup_options $basefile" + postcmd="| $splitup $splitup_options $basefile" cfile=${basefile}2.c # last output file, or thereabouts output= output_files="$basefile[0-9].c ${basefile}ini.c ${basefile}d.h \ @@ -69,7 +77,7 @@ ${basefile}coerce.h" web2c_options="-t -c${basefile}coerce" hfile=texmfmp.h fixwrites_options=-t - postcmd="| ./web2c/splitup $splitup_options ${basefile}" + postcmd="| $splitup $splitup_options ${basefile}" cfile=${basefile}2.c # last output file, or thereabouts output= output_files="$basefile[0-9].c ${basefile}ini.c ${basefile}d.h \ @@ -80,9 +88,9 @@ esac # Do it. eval "cat $srcdir/web2c/common.defines $more_defines $pascalfile \ $precmd \ - | ./web2c/web2c -h$hfile $web2c_options \ + | $web2c -h$hfile $web2c_options \ $midcmd \ - | ./web2c/fixwrites $fixwrites_options $basefile \ + | $fixwrites $fixwrites_options $basefile \ $postcmd \ $output" diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/fixwrites.c ./texk/web2c/web2c/fixwrites.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/fixwrites.c 2001-10-26 21:18:00.000000000 +0200 +++ ./texk/web2c/web2c/fixwrites.c 2004-04-02 11:23:21.000000000 +0200 @@ -31,7 +31,7 @@ remove_newline P1C(string, s) fprintf (stderr, "Lost newline somehow.\n"); /* This is so the convert script can delete the output file on error. */ puts ("@error@"); - uexit (1); + exit (1); } *temp = 0; @@ -199,8 +199,6 @@ main P2C(int, argc, string *, argv) int blanks_done, indent, i; char *program_name = ""; - kpse_set_program_name (argv[0], NULL); /* In case we use FATAL. */ - for (i = 1; i < argc; i++) { if (STREQ(argv[i],"-t")) @@ -264,7 +262,7 @@ main P2C(int, argc, string *, argv) if (sscanf (cp, "read ( input , %s )", variable_name) != 1) { fprintf (stderr, "sscanf failed\n"); - uexit (1); + exit (1); } printf ("%s = getint();\n", variable_name); continue; diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/main.c ./texk/web2c/web2c/main.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/main.c 2001-11-18 11:46:36.000000000 +0100 +++ ./texk/web2c/web2c/main.c 2004-04-02 11:37:57.000000000 +0200 @@ -28,6 +28,30 @@ #define sym_table_size 3000 #define unused 271828 +/* FIXME: refactor config.h include, so that prior definitions can be + skipped */ +#undef fopen +#undef fclose +#undef FATAL_PERROR +#undef FATAL + +#define PROGRAM_NAME "web2c" +#define FATAL(str) \ + { \ + fprintf (stderr, "%s: fatal: ", PROGRAM_NAME); \ + fputs (str, stderr); \ + fputs (".\n", stderr); \ + exit (1); \ + } + +#define FATAL_PERROR(str) \ + { \ + fprintf (stderr, "%s: ", PROGRAM_NAME); \ + perror (str); \ + exit (1); \ + } + + /* Says whether to give voluminous progress reports. */ boolean debug = false; int indent = 0; @@ -190,7 +214,7 @@ yyerror P1C(string, s) break; } fputs (").\n", stderr); - uexit (1); + exit (1); /* Avoid silly warnings. */ return 0; @@ -275,7 +299,9 @@ initialize P1H(void) normal (); - coerce = xfopen (coerce_name, FOPEN_W_MODE); + coerce = fopen (coerce_name, FOPEN_W_MODE); + if (coerce == NULL) + FATAL_PERROR (coerce_name); } int @@ -283,8 +309,6 @@ main P2C(int, argc, string *, argv) { int error, i; - kpse_set_progname (argv[0]); /* In case we use FATAL. */ - for (i = 1; i < argc; i++) if (argv[i][0] == '-') switch (argv[i][1]) @@ -321,7 +345,8 @@ main P2C(int, argc, string *, argv) error = yyparse (); new_line (); - xfclose (coerce, coerce_name); + if (fclose (coerce) == EOF) + FATAL_PERROR (coerce_name); if (debug) fprintf (stderr, "%d symbols.\n", next_sym_free); diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/Makefile.in ./texk/web2c/web2c/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/Makefile.in 2002-10-12 13:37:39.000000000 +0200 +++ ./texk/web2c/web2c/Makefile.in 2004-04-04 09:46:05.000000000 +0200 @@ -10,21 +10,25 @@ ac_include ../make/common.mk ac_include ../make/programs.mk ac_include kpathsea.mk +# Everything here is -for-build +.c.o: + $(build_compile) -c $< -o $@ + LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ YACC = @YACC@ -proglib = ../lib/lib.a programs = web2c fixwrites splitup web2c_objects = main.o y_tab.o $(LEX_OUTPUT_ROOT).o all: $(programs) web2c: $(web2c_objects) - $(kpathsea_link) $(web2c_objects) $(LEXLIB) $(LOADLIBES) + $(build_link_command) $(web2c_objects) $(LEXLIB) # We use y_tab.* for the sake of MS-DOS. main.o: main.c y_tab.h +main-for-build.o: main.c y_tab.h y_tab.c y_tab.h: web2c.y @echo Expect one shift/reduce conflict. $(YACC) -d -v $(srcdir)/web2c.y @@ -35,13 +39,11 @@ $(LEX_OUTPUT_ROOT).c: web2c.l $(LEX) $(srcdir)/web2c.l fixwrites: fixwrites.o - $(kpathsea_link) fixwrites.o $(LOADLIBES) + $(build_link_command) $< splitup: splitup.o - $(kpathsea_link) splitup.o $(LOADLIBES) -regfix: regfix.o - $(kpathsea_link) regfix.o $(LOADLIBES) - -$(programs): $(proglib) $(kpathsea) + $(build_link_command) $< +regfix: rexfix.o + $(build_link_command) $< @MAINT@# It's really not worth srcdir etc. here. @MAINT@lib_sources = $(addprefix ../lib/,alloca.c basechsuffix.c chartostring.c \ Files /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/regfix and ./texk/web2c/web2c/regfix differ diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/splitup.c ./texk/web2c/web2c/splitup.c --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/splitup.c 2004-03-22 19:10:25.000000000 +0100 +++ ./texk/web2c/web2c/splitup.c 2004-04-02 11:37:21.000000000 +0200 @@ -5,12 +5,35 @@ Tim Morgan September 19, 1987. */ #include "config.h" -#include #ifdef VMS #define unlink delete #endif + +/* FIXME: refactor config.h include, so that prior definitions can be + skipped */ +#undef fopen +#undef fclose +#undef FATAL_PERROR +#undef FATAL + +#define PROGRAM_NAME "splitup" +#define FATAL(str) \ + { \ + fprintf (stderr, "%s: fatal: ", PROGRAM_NAME); \ + fputs (str, stderr); \ + fputs (".\n", stderr); \ + exit (1); \ + } + +#define FATAL_PERROR(str) \ + { \ + fprintf (stderr, "%s: ", PROGRAM_NAME); \ + perror (str); \ + exit (1); \ + } + int filenumber = 0, ifdef_nesting = 0, lines_in_file = 0; char *output_name = NULL; boolean has_ini; @@ -59,8 +82,6 @@ main P2C(int, argc, string *, argv) string coerce; unsigned coerce_len; int option; - - kpse_set_progname (argv[0]); /* In case we use FATAL. */ while ((option = getopt(argc, argv, "+il:")) != -1) { switch (option) { @@ -70,7 +91,7 @@ main P2C(int, argc, string *, argv) case 'l': max_lines = atoi(optarg); if (max_lines <= 0) - FATAL("[-i] [-l lines] name"); + FATAL("[-i] [-l lines] name"); break; default: FATAL("[-i] [-l lines] name"); @@ -83,7 +104,10 @@ main P2C(int, argc, string *, argv) sprintf (filename, "%sd.h", output_name); sprintf (tempfile, "%s.tmp", output_name); - out = xfopen (filename, FOPEN_W_MODE); + out = fopen (filename, FOPEN_W_MODE); + if (out == NULL) + FATAL_PERROR (filename); + fputs ("#undef TRIP\n#undef TRAP\n", out); /* We have only one binary that can do both ini stuff and vir stuff. */ fputs ("#define STAT\n#define INI\n", out); @@ -143,17 +167,22 @@ main P2C(int, argc, string *, argv) FATAL1 ("No #include %s line", coerce); fputs (buffer, out); - xfclose (out, filename); + if (fclose (out) == EOF) + FATAL_PERROR (filename); if (do_ini) { sprintf (ini_name, "%sini.c", output_name); - ini = xfopen (ini_name, FOPEN_W_MODE); + ini = fopen (ini_name, FOPEN_W_MODE); + if (ini == NULL) + FATAL_PERROR (ini_name); fputs ("#define EXTERN extern\n", ini); fprintf (ini, "#include \"%sd.h\"\n\n", output_name); } sprintf (filename, "%s0.c", output_name); - out = xfopen (filename, FOPEN_W_MODE); + out = fopen (filename, FOPEN_W_MODE); + if (out == NULL) + FATAL_PERROR (filename); fputs ("#define EXTERN extern\n", out); fprintf (out, "#include \"%sd.h\"\n\n", output_name); @@ -161,7 +190,9 @@ main P2C(int, argc, string *, argv) { /* Read one routine into a temp file */ has_ini = false; - temp = xfopen (tempfile, "w+"); + temp = fopen (tempfile, "w+"); + if (temp == NULL) + FATAL_PERROR (tempfile); while (read_line ()) { @@ -186,14 +217,18 @@ main P2C(int, argc, string *, argv) lines_in_file++; } } - xfclose (temp, tempfile); + if (fclose (temp) == EOF) + FATAL_PERROR (tempfile); /* Switch to new output file. */ if (max_lines && lines_in_file > max_lines) { - xfclose (out, filename); + if (fclose (out) == EOF) + FATAL_PERROR (filename); sprintf (filename, "%s%d.c", output_name, ++filenumber); - out = xfopen (filename, FOPEN_W_MODE); + out = fopen (filename, FOPEN_W_MODE); + if (out == NULL) + FATAL_PERROR (filename); fputs ("#define EXTERN extern\n", out); fprintf (out, "#include \"%sd.h\"\n\n", output_name); lines_in_file = 0; @@ -201,15 +236,20 @@ main P2C(int, argc, string *, argv) } while (!feof (stdin)); - xfclose (out, filename); + if (fclose (out) == EOF) + FATAL_PERROR (filename); + if (lines_in_file == 0) unlink (filename); if (do_ini) - xfclose (ini, ini_name); + { + if (fclose (ini) == EOF) + FATAL_PERROR (ini_name); + } if (unlink (tempfile)) - perror (tempfile), uexit (1); + perror (tempfile), exit (1); return EXIT_SUCCESS; } diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/web2c.y ./texk/web2c/web2c/web2c.y --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/web2c/web2c/web2c.y 2002-10-10 01:10:17.000000000 +0200 +++ ./texk/web2c/web2c/web2c.y 2004-04-02 11:46:58.000000000 +0200 @@ -54,6 +54,18 @@ static void fixup_var_list P1H(void); static void do_proc_args P1H(void); static void gen_function_head P1H(void); static boolean doreturn P1H(string); + +char const* +upcase (char const *s) +{ + char *u = malloc (strlen (s) + 1); + strcpy (u, s); + + char *p; + for (p = u; *p; p++) + *p = toupper (*p); + return u; +} %} %start PROGRAM @@ -63,7 +75,7 @@ PROGRAM: DEFS PROGRAM_HEAD { - printf ("#define %s\n", uppercasify (program_name)); + printf ("#define %s\n", upcase (program_name)); block_level++; printf ("#include \"%s\"\n", std_header); } diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/acconfig.h ./texk/xdvik/acconfig.h --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/acconfig.h 2004-03-11 00:06:58.000000000 +0100 +++ ./texk/xdvik/acconfig.h 2004-04-04 12:10:38.000000000 +0200 @@ -19,6 +19,9 @@ /* Define if you have the ANSI # stringizing operator in cpp. */ #undef HAVE_STRINGIZE +/* Define if you have the XP library. */ +#undef HAVE_LIB_XP + /* Define if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/configure.in ./texk/xdvik/configure.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/configure.in 2004-03-22 21:59:26.000000000 +0100 +++ ./texk/xdvik/configure.in 2004-04-04 11:07:39.000000000 +0200 @@ -77,6 +77,7 @@ dnl AC_CHECK_SIZEOF(long) sinclude(xt.ac) sinclude(withenable.ac) +sinclude(../cross.ac) sinclude(../../libs/t1lib/withenable.ac) sinclude(../../libs/t1lib/t1lib.ac) diff -purNX/netrel/src/X -xcygwin -I'.*\$\(Date\|Header\|Id\|Revision\|\)\(: .* \|\)\$.*' /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/Makefile.in ./texk/xdvik/Makefile.in --- /netrel/src/cvs-tetex/tetex-src-beta-2.96.1.20040322/texk/xdvik/Makefile.in 2004-03-14 03:06:12.000000000 +0100 +++ ./texk/xdvik/Makefile.in 2004-04-04 12:18:21.000000000 +0200 @@ -96,8 +96,8 @@ libguibuild: @final_exec_name@: $(kpathsea) $(objects) $(LIBT1DEP) $(LIBGUIDEP) $(kpathsea_link) $(objects) $(LIBGUI) $(x_link) $(LOADLIBES) -squeeze: squeeze.o - $(link_command) squeeze.o $(LIBS) $(XLOADLIBES) +squeeze: squeeze$(for-build).o + $(build_link_command) squeeze$(for-build).o psheader.c: psheader.txt squeeze ./squeeze $(srcdir)/psheader.txt $@