unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCHES] 21.3.50 for Cygwin: patch 3
@ 2002-12-06 18:33 Joe Buehler
  2002-12-25  5:59 ` Eli Zaretskii
  2002-12-25  6:00 ` Eli Zaretskii
  0 siblings, 2 replies; 4+ messages in thread
From: Joe Buehler @ 2002-12-06 18:33 UTC (permalink / raw)


Some Cygwin commands (e.g. cp) work transparently with or without the .exe
extension on an executable file, but some commands (e.g. ln, chmod,
chgrp, chown) require the exact file name.  This patch adds
the @EXEEXT@ string in the right places.  It also fixes a minor
CANNOT_DUMP problem in a makefile.

Joe Buehler

Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/ChangeLog,v
retrieving revision 1.289
diff -u -r1.289 ChangeLog
--- ChangeLog	27 Nov 2002 22:54:07 -0000	1.289
+++ ChangeLog	6 Dec 2002 17:38:35 -0000
@@ -1,3 +1,7 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: use @EXEEXT@ for Cygwin
+
  2002-11-27  Dave Love  <fx@gnu.org>

  	* configure.in: Use AC_CHECK_DECLS, not AC_DECL_SYS_SIGLIST.
Index: ./lib-src/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lib-src/ChangeLog,v
retrieving revision 2.212
diff -u -r2.212 ChangeLog
--- ./lib-src/ChangeLog	4 Dec 2002 11:19:42 -0000	2.212
+++ ./lib-src/ChangeLog	6 Dec 2002 17:38:39 -0000
@@ -1,3 +1,7 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: added @EXEEXT@ for Cygwin
+
  2002-12-04  Richard M. Stallman  <rms@gnu.org>

  	* Update getopt from gnulib version; changes described below.
Index: ./lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.4583
diff -u -r1.4583 ChangeLog
--- ./lisp/ChangeLog	4 Dec 2002 17:20:06 -0000	1.4583
+++ ./lisp/ChangeLog	6 Dec 2002 17:38:48 -0000
@@ -1,3 +1,7 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: use @EXEEXT@ for Cygwin
+
  2002-12-04  Stefan Monnier  <monnier@cs.yale.edu>

  	* gdb-ui.el (gdb-inferior-io-mode-map): Remove (unused).
Index: ./lwlib/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lwlib/ChangeLog,v
retrieving revision 1.74
diff -u -r1.74 ChangeLog
--- ./lwlib/ChangeLog	21 Nov 2002 10:58:13 -0000	1.74
+++ ./lwlib/ChangeLog	6 Dec 2002 17:38:56 -0000
@@ -1,3 +1,7 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: use @EXEEXT@ for Cygwin
+
  2002-11-21  Dave Love  <fx@gnu.org>

  	* lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
Index: ./oldXMenu/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/oldXMenu/ChangeLog,v
retrieving revision 1.14
diff -u -r1.14 ChangeLog
--- ./oldXMenu/ChangeLog	22 Apr 2002 18:27:39 -0000	1.14
+++ ./oldXMenu/ChangeLog	6 Dec 2002 17:38:56 -0000
@@ -1,3 +1,7 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: use @EXEEXT@ for Cygwin
+
  2002-04-22  Jan D.  <jan.h.d@swipnet.se>

  	* Activate.c: Add calls to GrabKeyboard to remove strange
Index: ./src/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.2979
diff -u -r1.2979 ChangeLog
--- ./src/ChangeLog	4 Dec 2002 11:44:42 -0000	1.2979
+++ ./src/ChangeLog	6 Dec 2002 17:39:00 -0000
@@ -1,3 +1,9 @@
+2002-12-06  Joe Buehler  <jhpb@draco.hekimian.com>
+
+	* Makefile.in: added @EXEEXT@ usage for Cygwin
+
+	* Makefile.in: do not run "mv" on emacs if CANNOT_DUMP, since it does not exist
+
  2002-12-04  Richard M. Stallman  <rms@gnu.org>

  	* sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
Index: Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/Makefile.in,v
retrieving revision 1.271
diff -u -r1.271 Makefile.in
--- Makefile.in	11 Nov 2002 09:03:08 -0000	1.271
+++ Makefile.in	6 Dec 2002 16:34:32 -0000
@@ -212,8 +212,8 @@
  TRANSFORM = @program_transform_name@

  # What emacs should be called when installed.
-EMACS = `echo emacs | sed '$(TRANSFORM)'`
-EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`
+EMACS = `echo emacs@EXEEXT@ | sed '$(TRANSFORM)'`
+EMACSFULL = `echo emacs-${version}@EXEEXT@ | sed '$(TRANSFORM)'`

  # Subdirectories to make recursively.  `lisp' is not included
  # because the compiled lisp files are part of the distribution.
@@ -355,7 +355,7 @@
  	    exec_prefix=${exec_prefix} bindir=${bindir} \
  	    libexecdir=${libexecdir} archlibdir=${archlibdir} \
  	    INSTALL_STRIP=${INSTALL_STRIP})
-	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/$(EMACSFULL)
+	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs@EXEEXT@ ${bindir}/$(EMACSFULL)
  	-chmod 1755  ${bindir}/$(EMACSFULL)
  	rm -f ${bindir}/$(EMACS)
  	-ln ${bindir}/$(EMACSFULL) ${bindir}/$(EMACS)
@@ -725,7 +725,7 @@
  bootstrap: bootstrap-clean-before info FRC
  	(cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean)
  	(cd src; $(MAKE) $(MFLAGS) bootstrap)
-	(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs)
+	(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs@EXEEXT@)
  	(cd src; $(MAKE) $(MFLAGS) mostlyclean)
  	$(MAKE) $(MFLAGS) all

Index: lib-src/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lib-src/Makefile.in,v
retrieving revision 1.131
diff -u -r1.131 Makefile.in
--- lib-src/Makefile.in	18 Nov 2002 04:53:59 -0000	1.131
+++ lib-src/Makefile.in	6 Dec 2002 16:34:41 -0000
@@ -100,15 +100,15 @@

  # Things that a user might actually run,
  # which should be installed in bindir.
-INSTALLABLES = etags ctags emacsclient b2m ebrowse
+INSTALLABLES = etags@EXEEXT@ ctags@EXEEXT@ emacsclient@EXEEXT@ b2m@EXEEXT@ ebrowse@EXEEXT@
  INSTALLABLE_SCRIPTS = rcs-checkin grep-changelog

  # Things that Emacs runs internally, or during the build process,
  #  which should not be installed in bindir.
-UTILITIES=  profile digest-doc sorted-doc movemail cvtmail fakemail \
-            yow hexl update-game-score
+UTILITIES=  profile@EXEEXT@ digest-doc@EXEEXT@ sorted-doc@EXEEXT@ movemail@EXEEXT@ cvtmail@EXEEXT@ fakemail@EXEEXT@ \
+            yow@EXEEXT@ hexl@EXEEXT@ update-game-score@EXEEXT@

-DONT_INSTALL= test-distrib make-docfile
+DONT_INSTALL= test-distrib@EXEEXT@ make-docfile@EXEEXT@

  # Like UTILITIES, but they're not system-dependent, and should not be
  #  deleted by the distclean target.
@@ -272,12 +272,12 @@
  maybe-blessmail: BLESSMAIL
  #ifdef MOVEMAIL_NEEDS_BLESSING
  /* Don\'t charge ahead and do it!  Let the installer decide.
-	  ./blessmail ${archlibdir}/movemail  */
+	  ./blessmail ${archlibdir}/movemail@EXEEXT@  */
  	@if [ `wc -l <blessmail` != 2 ] ; then \
  	  dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; \
  	  echo Assuming $$dir is really the mail spool directory, you should; \
-	  echo run  lib-src/blessmail ${archlibdir}/movemail; \
-	  echo as root, to give  movemail  appropriate permissions.; \
+	  echo run  lib-src/blessmail ${archlibdir}/movemail@EXEEXT@; \
+	  echo as root, to give  movemail@EXEEXT@  appropriate permissions.; \
  	  echo Do that after running  make install.; \
  	fi
  #endif
@@ -358,16 +358,16 @@
  	@echo "We don't have any tests for GNU Emacs yet."

  tags: TAGS
-TAGS: etags
-	etags *.[ch]
+TAGS: etags@EXEEXT@
+	etags@EXEEXT@ *.[ch]

  /* This verifies that the non-ASCII characters in the file \`testfile\'
     have not been clobbered by whatever means were used to copy and
     distribute Emacs.  If they were clobbered, all the .elc files were
     clobbered too.  */
-test-distrib: ${srcdir}/test-distrib.c
-	$(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c
-	./test-distrib ${srcdir}/testfile
+test-distrib@EXEEXT@: ${srcdir}/test-distrib.c
+	$(CC) ${ALL_CFLAGS} -o test-distrib@EXEEXT@ ${srcdir}/test-distrib.c
+	./test-distrib@EXEEXT@ ${srcdir}/testfile

  GETOPTOBJS = getopt.o getopt1.o $(ALLOCA)
  GETOPTDEPS = $(GETOPTOBJS) ${srcdir}/getopt.h
@@ -389,35 +389,35 @@
  regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h
  	${CC} -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c

-etags: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
-	$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags
+etags@EXEEXT@: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
+	$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags@EXEEXT@

-ebrowse: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h
-	$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/ebrowse.c $(GETOPTOBJS) $(LOADLIBES) -o ebrowse
+ebrowse@EXEEXT@: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h
+	$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/ebrowse.c $(GETOPTOBJS) $(LOADLIBES) -o ebrowse@EXEEXT@

  /* We depend on etags to assure that parallel makes don\'t write two
     etags.o files on top of each other.  */
-ctags: etags
-	$(CC) ${ALL_CFLAGS} -DCTAGS -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags
+ctags@EXEEXT@: etags@EXEEXT@
+	$(CC) ${ALL_CFLAGS} -DCTAGS -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags@EXEEXT@

-profile: ${srcdir}/profile.c ../src/config.h
-	$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile
+profile@EXEEXT@: ${srcdir}/profile.c ../src/config.h
+	$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile@EXEEXT@

-make-docfile: ${srcdir}/make-docfile.c ../src/config.h
-	$(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) -o make-docfile
+make-docfile@EXEEXT@: ${srcdir}/make-docfile.c ../src/config.h
+	$(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) -o make-docfile@EXEEXT@

-digest-doc: ${srcdir}/digest-doc.c
-	$(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc
+digest-doc@EXEEXT@: ${srcdir}/digest-doc.c
+	$(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc@EXEEXT@

-sorted-doc: ${srcdir}/sorted-doc.c ${ALLOCA}
-	$(CC) ${ALL_CFLAGS} ${srcdir}/sorted-doc.c ${ALLOCA} $(LOADLIBES) -o sorted-doc
+sorted-doc@EXEEXT@: ${srcdir}/sorted-doc.c ${ALLOCA}
+	$(CC) ${ALL_CFLAGS} ${srcdir}/sorted-doc.c ${ALLOCA} $(LOADLIBES) -o sorted-doc@EXEEXT@

-b2m: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS)
+b2m@EXEEXT@: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS)
  	$(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c  -DVERSION="\"${version}\"" \
-	   $(GETOPTOBJS) $(LOADLIBES) -o b2m
+	   $(GETOPTOBJS) $(LOADLIBES) -o b2m@EXEEXT@

-movemail: movemail.o pop.o $(GETOPTDEPS)
-	$(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} movemail.o pop.o $(GETOPTOBJS) $(LOADLIBES) $(LIBS_MAIL) $(LIBS_MOVE) -o movemail
+movemail@EXEEXT@: movemail.o pop.o $(GETOPTDEPS)
+	$(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} movemail.o pop.o $(GETOPTOBJS) $(LOADLIBES) $(LIBS_MAIL) $(LIBS_MOVE) -o movemail@EXEEXT@

  movemail.o: ${srcdir}/movemail.c ../src/config.h
  	$(CC) -c ${CPP_CFLAGS} -Demacs ${MOVE_FLAGS} ${srcdir}/movemail.c
@@ -425,45 +425,45 @@
  pop.o: ${srcdir}/pop.c  ../src/config.h
  	$(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c

-cvtmail: ${srcdir}/cvtmail.c
-	$(CC) ${ALL_CFLAGS} ${srcdir}/cvtmail.c $(LOADLIBES) -o cvtmail
+cvtmail@EXEEXT@: ${srcdir}/cvtmail.c
+	$(CC) ${ALL_CFLAGS} ${srcdir}/cvtmail.c $(LOADLIBES) -o cvtmail@EXEEXT@

-fakemail: ${srcdir}/fakemail.c ../src/config.h
-	$(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail
+fakemail@EXEEXT@: ${srcdir}/fakemail.c ../src/config.h
+	$(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail@EXEEXT@

-yow: ${srcdir}/yow.c ../src/epaths.h
-	$(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow
+yow@EXEEXT@: ${srcdir}/yow.c ../src/epaths.h
+	$(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow@EXEEXT@

-emacsclient: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
+emacsclient@EXEEXT@: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
  	$(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS)  \
  	   -DVERSION=`sed -n -e '/(defconst emacs-version/ s/^[^"]*\("[^"]*"\).*/\1/p' ${srcdir}/../lisp/version.el` \
-	   $(LOADLIBES) -o emacsclient
+	   $(LOADLIBES) -o emacsclient@EXEEXT@

-hexl: ${srcdir}/hexl.c ../src/config.h
-	$(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl
+hexl@EXEEXT@: ${srcdir}/hexl.c ../src/config.h
+	$(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl@EXEEXT@

-update-game-score: ${srcdir}/update-game-score.c ../src/config.h
+update-game-score@EXEEXT@: ${srcdir}/update-game-score.c ../src/config.h
  	$(CC) ${ALL_CFLAGS} ${srcdir}/update-game-score.c \
  	  -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
-	  $(LOADLIBES) -o update-game-score
+	  $(LOADLIBES) -o update-game-score@EXEEXT@

  /* These are NOT included in INSTALLABLES or UTILITIES.
     See ../src/Makefile.in.  */
-emacstool: ${srcdir}/emacstool.c
-	$(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} \
+emacstool@EXEEXT@: ${srcdir}/emacstool.c
+	$(CC) ${srcdir}/emacstool.c -o emacstool@EXEEXT@ ${ALL_CFLAGS} \
  	  -lsuntool -lsunwindow -lpixrect $(LOADLIBES)

  /* For SUN Japanese Language Environment.  */
-nemacstool: ${srcdir}/emacstool.c
-	$(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \
+nemacstool@EXEEXT@: ${srcdir}/emacstool.c
+	$(CC) -o nemacstool@EXEEXT@ -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \
  	  -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)

-xvetool: ${srcdir}/emacstool.c
-	$(CC) -o xvetool -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c \
+xvetool@EXEEXT@: ${srcdir}/emacstool.c
+	$(CC) -o xvetool@EXEEXT@ -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c \
  	  -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
  	  $(LOADLIBES)

-xveterm: ${srcdir}/emacstool.c
-	$(CC) -o xveterm -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c \
+xveterm@EXEEXT@: ${srcdir}/emacstool.c
+	$(CC) -o xveterm@EXEEXT@ -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c \
  	  -lxview -lolgx -lX  -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
  	  $(LOADLIBES)
Index: lisp/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/Makefile.in,v
retrieving revision 1.38
diff -u -r1.38 Makefile.in
--- lisp/Makefile.in	20 Nov 2002 07:15:41 -0000	1.38
+++ lisp/Makefile.in	6 Dec 2002 16:34:43 -0000
@@ -37,7 +37,7 @@
  SOURCES = *.el COPYING Makefile
  lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el
  lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el
-ETAGS = ../lib-src/etags
+ETAGS = ../lib-src/etags@EXEEXT@

  # Files which should not be compiled.  If you change the name `DONTCOMPILE'
  # to something different, you'll have to change make-dist as well, and
Index: lwlib/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lwlib/Makefile.in,v
retrieving revision 1.26
diff -u -r1.26 Makefile.in
--- lwlib/Makefile.in	28 Apr 2002 13:33:40 -0000	1.26
+++ lwlib/Makefile.in	6 Dec 2002 16:35:23 -0000
@@ -63,6 +63,6 @@
  maintainer-clean: distclean

  TAGS:
-	../lib-src/etags $(srcdir)/*.[ch]
+	../lib-src/etags@EXEEXT@ $(srcdir)/*.[ch]
  tags: TAGS
  .PHONY: tags
Index: oldXMenu/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/oldXMenu/Makefile.in,v
retrieving revision 1.1
diff -u -r1.1 Makefile.in
--- oldXMenu/Makefile.in	3 Oct 1999 19:36:09 -0000	1.1
+++ oldXMenu/Makefile.in	6 Dec 2002 16:35:24 -0000
@@ -9,7 +9,7 @@
  LN_S=@LN_S@
               AS = as
               LD = ld
-           TAGS = etags
+           TAGS = etags@EXEEXT@
               RM = rm -f
               MV = mv
           RANLIB = ranlib
cvs server: Diffing site-lisp
cvs server: Diffing src
Index: src/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/src/Makefile.in,v
retrieving revision 1.262
diff -u -r1.262 Makefile.in
--- src/Makefile.in	25 Nov 2002 19:08:14 -0000	1.262
+++ src/Makefile.in	6 Dec 2002 16:35:24 -0000
@@ -467,7 +467,7 @@
     this with the shell's `for' construct.
     Note that some people don't have '.'  in their paths, so we must
     use ./prefix-args.  */
-#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
+#define YMF_PASS_LDFLAGS(flags) `./prefix-args@EXEEXT@ -Xlinker flags`
  #else
  #define YMF_PASS_LDFLAGS(flags) flags
  #endif
@@ -861,20 +861,20 @@
  #define OBJECTS_MACHINE
  #endif

-all: emacs OTHER_FILES
+all: emacs@EXEEXT@ OTHER_FILES

-emacs: temacs ${etc}DOC ${lisp}
+emacs@EXEEXT@: temacs@EXEEXT@ ${etc}DOC ${lisp}
  #ifdef CANNOT_DUMP
-	rm -f emacs
-	ln temacs emacs
+	rm -f emacs@EXEEXT@
+	ln temacs@EXEEXT@ emacs@EXEEXT@
  #else
  #ifdef HAVE_SHM
-	LC_ALL=C ./temacs -nl -batch -l loadup dump
+	LC_ALL=C ./temacs@EXEEXT@ -nl -batch -l loadup dump
  #else /* ! defined (HAVE_SHM) */
-	LC_ALL=C ./temacs -batch -l loadup dump
+	LC_ALL=C ./temacs@EXEEXT@ -batch -l loadup dump
  #endif /* ! defined (HAVE_SHM) */
  #endif /* ! defined (CANNOT_DUMP) */
-	-./emacs -q -batch -f list-load-path-shadows
+	-./emacs@EXEEXT@ -q -batch -f list-load-path-shadows

  /* We run make-docfile twice because the command line may get too long
     on some systems.  */
@@ -889,24 +889,24 @@
  	${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
  	${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}

-${libsrc}make-docfile:
-	cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile
+${libsrc}make-docfile@EXEEXT@:
+	cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile@EXEEXT@

  /* Some systems define this to cause parallel Make-ing.  */
  #ifndef MAKE_PARALLEL
  #define MAKE_PARALLEL
  #endif

-temacs: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args
+temacs@EXEEXT@: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args@EXEEXT@
  	$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
-    -o temacs ${STARTFILES} ${obj} ${otherobj}  \
+    -o temacs@EXEEXT@ ${STARTFILES} ${obj} ${otherobj}  \
      OBJECTS_MACHINE ${LIBES}

  /* We don't use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
     often contain options that have to do with using Emacs's crt0,
     which are only good with temacs.  */
-prefix-args: prefix-args.c $(config_h)
-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args
+prefix-args@EXEEXT@: prefix-args.c $(config_h)
+	$(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args@EXEEXT@

  /* Don't lose if this was not defined.  */
  #ifndef OLDXMENU_OPTIONS
@@ -1206,11 +1206,11 @@
  macosx-app: ${emacsapp}Contents/MacOS/Emacs \
    ${emacsapp}Contents/Resources/Emacs.rsrc

-${emacsapp}Contents/MacOS/Emacs: emacs
+${emacsapp}Contents/MacOS/Emacs: emacs@EXEEXT@
  	if [ -d ${emacsapp}Contents/MacOS/ ]; then true; else \
  	  mkdir ${emacsapp}Contents/MacOS/; \
  	fi
-	cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs Emacs
+	cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs@EXEEXT@ Emacs@EXEEXT@

  ${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r
  	/Developer/Tools/Rez -useDF -o \
@@ -1219,16 +1219,16 @@
  	../mac/src/Emacs.r
  #endif

-${libsrc}emacstool: ${libsrc}emacstool.c
-	cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool
+${libsrc}emacstool@EXEEXT@: ${libsrc}emacstool.c
+	cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool@EXEEXT@
  bootstrapclean:
-	rm -f bootstrap-emacs
+	rm -f bootstrap-emacs@EXEEXT@
  mostlyclean:
-	rm -f temacs prefix-args core *.core \#* *.o libXMenu11.a liblw.a
+	rm -f temacs@EXEEXT@ prefix-args@EXEEXT@ core *.core \#* *.o libXMenu11.a liblw.a
  	rm -f ../etc/DOC
-	rm -f bootstrap-emacs
+	rm -f bootstrap-emacs@EXEEXT@
  clean: mostlyclean
-	rm -f emacs-* emacs
+	rm -f emacs-*@EXEEXT@ emacs@EXEEXT@
  /**/# This is used in making a distribution.
  /**/# Do not use it on development directories!
  distclean: clean
@@ -1241,7 +1241,7 @@
  	@echo "it deletes files that may require special tools to rebuild."
  	rm -f TAGS
  versionclean:
-	-rm -f emacs emacs-* ../etc/DOC*
+	-rm -f emacs@EXEEXT@ emacs-*@EXEEXT@ ../etc/DOC*
  extraclean: distclean
  	-rm -f *~ \#* m/?*~ s/?*~

@@ -1263,15 +1263,15 @@
  ctagsfiles2 = [a-wA-W]*.[hc]

  TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
-	../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \
+	../lib-src/etags@EXEEXT@ --include=TAGS-LISP --include=${lwlibdir}/TAGS \
  	  --regex='/[ 	]*DEFVAR_[A-Z_ 	(]+"\([^"]+\)"/' \
  	  $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
  frc:
  TAGS-LISP: frc
-	$(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags
+	$(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags@EXEEXT@

  $(lwlibdir)TAGS:
-	(cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags)
+	(cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags@EXEEXT@)

  tags: TAGS TAGS-LISP $(lwlibdir)TAGS
  .PHONY: tags
@@ -1279,20 +1279,20 @@

  /* Bootstrapping.  */

-bootstrap: bootstrap-emacs
+bootstrap: bootstrap-emacs@EXEEXT@

  /* Dump an Emacs executable named bootstrap-emacs containing the
     files from loadup.el in source form.  */

-bootstrap-emacs: temacs
+bootstrap-emacs@EXEEXT@: temacs@EXEEXT@
  #ifdef CANNOT_DUMP
-	ln temacs bootstrap-emacs
+	ln temacs@EXEEXT@ bootstrap-emacs@EXEEXT@
  #else
  #ifdef HAVE_SHM
-	./temacs -nl -batch -l loadup bootstrap
+	./temacs@EXEEXT@ -nl -batch -l loadup bootstrap
  #else /* ! defined (HAVE_SHM) */
-	./temacs --batch --load loadup bootstrap
+	./temacs@EXEEXT@ --batch --load loadup bootstrap
  #endif /* ! defined (HAVE_SHM) */
+	mv -f emacs@EXEEXT@ bootstrap-emacs@EXEEXT@
  #endif /* ! defined (CANNOT_DUMP) */
-	mv -f emacs bootstrap-emacs

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCHES] 21.3.50 for Cygwin: patch 3
  2002-12-06 18:33 [PATCHES] 21.3.50 for Cygwin: patch 3 Joe Buehler
@ 2002-12-25  5:59 ` Eli Zaretskii
  2002-12-25  6:00 ` Eli Zaretskii
  1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2002-12-25  5:59 UTC (permalink / raw)
  Cc: emacs-devel

Thank you for working on this.

I have some comments, below.

On Fri, 6 Dec 2002, Joe Buehler wrote:

> Some Cygwin commands (e.g. cp) work transparently with or without the .exe
> extension on an executable file, but some commands (e.g. ln, chmod,
> chgrp, chown) require the exact file name.

Is running a program via a Makefile rule one of those cases?  I'd think 
it isn't, in which case changes like this one:

>   TAGS:
> -	../lib-src/etags $(srcdir)/*.[ch]
> +	../lib-src/etags@EXEEXT@ $(srcdir)/*.[ch]

are unnecessary.

Btw, perhaps you should suggest to the Cygwin maintainers a change in the 
ported `install' (from GNU Fileutils/Coreutils) such that when invoked 
with a command "install foo /bin/foo" it will look for foo.exe if foo is 
not found.  That will make `install:' targets in Makefiles work out of 
the box.

> -	rm -f emacs-* emacs
> +	rm -f emacs-*@EXEEXT@ emacs@EXEEXT@

Why can't the "emacs-*" part be left alone here?  It does match file 
names that end in .exe, right?

> -	-rm -f emacs emacs-* ../etc/DOC*
> +	-rm -f emacs@EXEEXT@ emacs-*@EXEEXT@ ../etc/DOC*

Same here.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCHES] 21.3.50 for Cygwin: patch 3
  2002-12-06 18:33 [PATCHES] 21.3.50 for Cygwin: patch 3 Joe Buehler
  2002-12-25  5:59 ` Eli Zaretskii
@ 2002-12-25  6:00 ` Eli Zaretskii
  2003-01-03 16:21   ` Joe Buehler
  1 sibling, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2002-12-25  6:00 UTC (permalink / raw)
  Cc: emacs-devel


On Fri, 6 Dec 2002, Joe Buehler wrote:

> This patch adds the @EXEEXT@ string in the right places.

Btw, where's the appropriate change for configure.in to edit @EXEXT@ into 
.exe?  Am I missing something?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCHES] 21.3.50 for Cygwin: patch 3
  2002-12-25  6:00 ` Eli Zaretskii
@ 2003-01-03 16:21   ` Joe Buehler
  0 siblings, 0 replies; 4+ messages in thread
From: Joe Buehler @ 2003-01-03 16:21 UTC (permalink / raw)
  Cc: emacs-devel

Eli Zaretskii wrote:

>>This patch adds the @EXEEXT@ string in the right places.
> 
> 
> Btw, where's the appropriate change for configure.in to edit @EXEXT@ into 
> .exe?  Am I missing something?

I think so -- I noticed that configure was already supplying @EXEEXT@
and made use of it instead of the (ugly) way I was doing things before.
-- 
Joe Buehler

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-01-03 16:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-06 18:33 [PATCHES] 21.3.50 for Cygwin: patch 3 Joe Buehler
2002-12-25  5:59 ` Eli Zaretskii
2002-12-25  6:00 ` Eli Zaretskii
2003-01-03 16:21   ` Joe Buehler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).