bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: m4 1.4.4 on OS/2


From: Eric Blake
Subject: Re: m4 1.4.4 on OS/2
Date: Tue, 09 May 2006 22:25:00 -0600
User-agent: Thunderbird 1.5.0.2 (Windows/20060308)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Andreas Büning on 5/9/2006 3:42 PM:
>> Thanks for the report.  Your changes amount to quite a few lines of code,
>> would you be willing to sign a copyright disclaimer and mail it to the FSF
>> so that I can apply your patch as-is?  If not, I will try to reverse
>> engineer what you are attempting based on your description above, and
>> apply a similar patch by comparing the branch-1_4 Makefile.in with ones
>> created by automake on CVS head, without referencing your patch, so that
>> we are not violating copyright assignment limitations.
> 
> If you really want I can sign yet another FSF copyright disclaimer
> although
> I think I did only some trivial one line changes, basically
> s/\.o/\.$(OBJEXT)/g and s/m4/m4$(EXEEXT)/g.

True enough; I was able to come up with this similar patch without too
much effort, all without looking at yours.  I don't have OS/2 available,
so please test this patch out on your system against the latest on
branch-1_4 in CVS (I tested it on cygwin, which also cares about EXEEXT,
but is more forgiving of omissions and isn't really impacted by OBJEXT).
If it works for you, I will go ahead and commit this version, and you
won't have to worry about the paperwork delay (you can still fill out an
assignment, though, if you want easier acceptance of future patches).

Right now, I have to use an ASCII transcription of your name in ChangeLog,
per GNU coding standards; but I will use your preferred spelling in THANKS
(patch to THANKS not listed here, since it includes lots of email
addresses).  Also, I will be committing THANKS in utf-8 encoding, rather
than Latin1, since that seems to be what other packages have been doing.

2006-05-09  Eric Blake  <address@hidden>

        Portability updates for OS/2.
        * THANKS: Update.
        * src/Makefile.in (EXEEXT, OBJEXT): Define.
        (LINK): Use CFLAGS.
        (.c.obj): Define.
        * lib/Makefile.in (OBJEXT): Define.
        (.c.obj): Define.
        * doc/Makefile.in (install, uninstall): Install info files into
        the dir listing.
        Reported by Andreas Buening  <address@hidden>

- --
Life is short - so eat dessert first!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEYWsc84KuGfSFAYARAut6AJ474wMcmCA0XNKk7/ZXzBXzWU3F6QCfedAg
MmN8S/S2k0a+iRLt3lpaHwA=
=bm3R
-----END PGP SIGNATURE-----
Index: doc/Makefile.in
===================================================================
RCS file: /sources/m4/m4/doc/Attic/Makefile.in,v
retrieving revision 1.1.1.1.2.6
diff -u -p -r1.1.1.1.2.6 Makefile.in
--- doc/Makefile.in     9 May 2006 11:50:29 -0000       1.1.1.1.2.6
+++ doc/Makefile.in     10 May 2006 04:12:45 -0000
@@ -38,6 +38,8 @@ datarootdir = @datarootdir@
 DISTFILES = Makefile.in m4.texinfo texinfo.tex \
 stamp-vti version.texi m4.info
 
+INFO_DEPS = $(srcdir)/m4.info
+
 all: m4.info
 
 info: m4.info
@@ -64,8 +66,27 @@ install: all
        cd $(srcdir) && for file in m4.info*; do \
          $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$file; \
        done
+       @if (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) 
>/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' 
'$(DESTDIR)$(infodir)/$$relfile'";\
+           install-info --info-dir="$(DESTDIR)$(infodir)" 
"$(DESTDIR)$(infodir)/$$relfile" || :;\
+         done; \
+       else : ; fi
 
 uninstall:
+       @if test -d '$(DESTDIR)$(infodir)' && \
+           (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) 
>/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove 
'$(DESTDIR)$(infodir)/$$relfile'"; \
+           install-info --info-dir="$(DESTDIR)$(infodir)" --remove 
"$(DESTDIR)$(infodir)/$$relfile"; \
+         done; \
+       else :; fi
        rm -f $(DESTDIR)$(infodir)/m4.info*
 
 mostlyclean:
Index: lib/Makefile.in
===================================================================
RCS file: /sources/m4/m4/lib/Attic/Makefile.in,v
retrieving revision 1.1.1.1.2.2
diff -u -p -r1.1.1.1.2.2 Makefile.in
--- lib/Makefile.in     1 May 2005 11:54:12 -0000       1.1.1.1.2.2
+++ lib/Makefile.in     10 May 2006 04:12:45 -0000
@@ -1,6 +1,6 @@
 ## Makefile.in -- Makefile for GNU m4 library.
 ##
-## Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+## Copyright (C) 1992, 1993, 1994, 2006 Free Software Foundation, Inc.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -29,22 +29,25 @@ CC = @CC@
 CFLAGS = @CFLAGS@
 CPPFLAGS = @CPPFLAGS@
 DEFS = @DEFS@
+OBJEXT = @OBJEXT@
 RANLIB = @RANLIB@
 
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
 
 .SUFFIXES:
-.SUFFIXES: .c .o
+.SUFFIXES: .c .o .obj
 .c.o:
        $(COMPILE) $<
+.c.obj:
+       $(COMPILE) $<
 
 INCLUDES = -I.. -I$(srcdir)
 
 HEADERS = getopt.h obstack.h regex.h
 SOURCES = regex.c getopt.c getopt1.c error.c obstack.c xmalloc.c \
 xstrdup.c alloca.c strtol.c
-OBJECTS = regex.o getopt.o getopt1.o error.o obstack.o xmalloc.o \
-xstrdup.o @ALLOCA@ @LIBOBJS@
+OBJECTS = regex.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) error.$(OBJEXT) \
+obstack.$(OBJEXT) xmalloc.$(OBJEXT) xstrdup.$(OBJEXT) @ALLOCA@ @LIBOBJS@
 
 DISTFILES = COPYING.LIB Makefile.in $(HEADERS) $(SOURCES) \
 TAGS
@@ -68,7 +71,7 @@ TAGS: $(HEADERS) $(SOURCES)
        cd $(srcdir) && etags $(HEADERS) $(SOURCES)
 
 mostlyclean:
-       rm -f *.o
+       rm -f *.o *.obj
 
 clean: mostlyclean
        rm -f libm4.a
Index: src/Makefile.in
===================================================================
RCS file: /sources/m4/m4/src/Attic/Makefile.in,v
retrieving revision 1.1.1.1.2.4
diff -u -p -r1.1.1.1.2.4 Makefile.in
--- src/Makefile.in     1 May 2005 11:54:12 -0000       1.1.1.1.2.4
+++ src/Makefile.in     10 May 2006 04:12:45 -0000
@@ -1,6 +1,6 @@
 ## Makefile.in -- Makefile for GNU m4 sources.
 ##
-## Copyright (C) 1994, 2005 Free Software Foundation, Inc.
+## Copyright (C) 1994, 2005, 2006 Free Software Foundation, Inc.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -28,10 +28,12 @@ CC = @CC@
 CFLAGS = @CFLAGS@
 CPPFLAGS = @CPPFLAGS@
 DEFS = @DEFS@
+EXEEXT = @EXEEXT@
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
+OBJEXT = @OBJEXT@
 STACKOVF = @STACKOVF@
 
 prefix = @prefix@
@@ -40,15 +42,17 @@ transform = @program_transform_name@
 bindir = @bindir@
 
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-LINK = $(CC) $(LDFLAGS) -o $@
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
 
 .SUFFIXES:
-.SUFFIXES: .c .o
+.SUFFIXES: .c .o .obj
 .c.o:
        $(COMPILE) $<
+.c.obj:
+       $(COMPILE) $<
 
 ANSI2KNR = @ANSI2KNR@
-O = address@hidden@o
+O = address@hidden@$(OBJEXT)
 
 .SUFFIXES: ._c ._o
 .c._c:
@@ -56,12 +60,12 @@ O = address@hidden@o
 ._c._o:
        @echo $(COMPILE) $<
        @rm -f _$*.c
-       @ln $< _$*.c && $(COMPILE) _$*.c && mv _$*.o $@ && rm _$*.c
+       @ln $< _$*.c && $(COMPILE) _$*.c && mv _$*.$(OBJEXT) $@ && rm _$*.c
 .c._o:
        ./ansi2knr --varargs $< > $*._c
        @echo $(COMPILE) $*._c
        @rm -f _$*.c
-       @ln $*._c _$*.c && $(COMPILE) _$*.c && mv _$*.o $@ && rm _$*.c
+       @ln $*._c _$*.c && $(COMPILE) _$*.c && mv _$*.$(OBJEXT) $@ && rm _$*.c
 
 INCLUDES = -I.. -I$(srcdir) -I$(srcdir)/../lib
 
@@ -74,24 +78,24 @@ macro$O output$O path$O $(STACKOVF) symt
 DISTFILES = Makefile.in ansi2knr.c ansi2knr.1 $(HEADERS) $(SOURCES) \
 TAGS
 
-all: m4
+all: m4$(EXEEXT)
 
-m4: $(OBJECTS) ../lib/libm4.a
+m4$(EXEEXT): $(OBJECTS) ../lib/libm4.a
        $(LINK) $(OBJECTS) ../lib/libm4.a $(LIBS)
 
 $(OBJECTS): $(ANSI2KNR) ../config.h m4.h ../lib/obstack.h
 builtin$O: ../lib/regex.h
 
-ansi2knr: ansi2knr.o
-       $(LINK) ansi2knr.o $(LIBS)
+ansi2knr: ansi2knr.$(OBJEXT)
+       $(LINK) ansi2knr.$(OBJEXT) $(LIBS)
 
 install: all
        $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir)
-       $(INSTALL_PROGRAM) m4 \
-               $(DESTDIR)$(bindir)/`echo m4 | sed '$(transform)'`
+       $(INSTALL_PROGRAM) m4$(EXEEXT) \
+               $(DESTDIR)$(bindir)/"`echo m4 | sed '$(transform)'`"$(EXEEXT)
 
 uninstall:
-       rm -f $(DESTDIR)$(bindir)/`echo m4 | sed '$(transform)'`
+       rm -f $(DESTDIR)$(bindir)/"`echo m4 | sed '$(transform)'`"$(EXEEXT)
 
 tags: TAGS
 
@@ -99,10 +103,10 @@ TAGS: $(HEADERS) $(SOURCES)
        cd $(srcdir) && etags -i ../lib/TAGS $(HEADERS) $(SOURCES)
 
 mostlyclean:
-       rm -f *.o *._c *._o core core.*
+       rm -f *.o *.obj *._c *._o core core.*
 
 clean: mostlyclean
-       rm -f m4
+       rm -f m4$(EXEEXT)
 
 distclean: clean
        rm -f Makefile ansi2knr

reply via email to

[Prev in Thread] Current Thread [Next in Thread]