Piotr Stefaniak <postg...@piotr-stefaniak.me> writes: > That, I assume, would be me. Coincidentally, I'm about to push my fixes > upstream (FreeBSD). Before that happens, my changes can be obtained from > https://github.com/pstef/freebsd_indent and tested, if anyone wishes.
I spent a little bit of time on portability testing, because we are certainly going to insist that this tool be portable to more than just FreeBSD. Things are not very good as it stands: * Makefile is 100% BSD-specific. Possibly we could just agree to disagree on that point, and include a PG-style makefile that is not like upstream's. I attach the one I used for test purposes. * __FBSDID() macros fail to compile anywhere else than FreeBSD. Couldn't you hide those inside #if 0, as you're already doing for the ancient sccsid strings? * Please put the copyright[] string in indent.c inside #if 0 too, as that draws unreferenced-variable warnings on some compilers. * There's one use of bcopy(), please replace with memmove(). * References to <sys/cdefs.h> and <err.h> are problematic, as both are BSD-isms not found in POSIX. They seem to be available anyway on Linux, but I bet not on Windows or SysV-tradition boxes. I removed the <sys/cdefs.h> includes and didn't see any problems, but removing <err.h> exposes calls to err() and errx(), which we'd have to find replacements for. Maybe just change them to standard-conforming printf() + exit()? regards, tom lane
#------------------------------------------------------------------------- # # Makefile for src/tools/freebsd_indent # # Copyright (c) 2003-2017, PostgreSQL Global Development Group # # src/tools/freebsd_indent/Makefile # #------------------------------------------------------------------------- subdir = src/tools/freebsd_indent top_builddir = ../../.. include $(top_builddir)/src/Makefile.global override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS) OBJS= args.o indent.o io.o lexi.o parse.o pr_comment.o all: freebsd_indent freebsd_indent: $(OBJS) $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) -o $@$(X) install: all installdirs $(INSTALL_PROGRAM) freebsd_indent$(X) '$(DESTDIR)$(bindir)/freebsd_indent$(X)' installdirs: $(MKDIR_P) '$(DESTDIR)$(bindir)' uninstall: rm -f '$(DESTDIR)$(bindir)/freebsd_indent$(X)' clean distclean maintainer-clean: rm -f freebsd_indent$(X) $(OBJS)
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers