kernel/usb4bsd: Fix sizeof().
m4: Sync with FreeBSD.

This improves compat with GNU m4 and brings the code closer to NetBSD
and OpenBSD.

Obtained-from:  FreeBSD
Add regression tests for m4.

Obtained-from:  FreeBSD
share/mk/sys.mk: Remove X11BASE definition

X11BASE is defined in pkgsrc mk files; it is not necessary to predefine
it in DragonFly's sys.mk.  Doing so will break support for dports.
kern - Add kether_ntoa, kether_aton functions.

- kether_aton() converts a human readable MAC string to an
  ethernet address.
- kether_ntoa() converts ethernet addresses into human readable
  MAC string.

Human readable notation is specified in IEEE 802.
kern - Utilize new way of printing MAC addresses.

kether_aton() function is being used to return a buffer
with the human readable notation of an ethernet address.
libkern - Add new function hexncpy.
kern - More work replacing %D

Use hexncpy() for special cases where, for example,
a different separator might be needed.
Remove %D conversion from kprintf(9) and the GCCs.

It has been removed also from libstand's printf.

While useful, these non-standard conversions have the downside that
each compiler needs adjusting to support proper printf format warnings
for them.

We have now a kether_ntoa() function to serve the purpose of %D
gcc4x: Update README to remove format.c from patched list

This is the result of %D format being removed by swildner yesterday.
.gitignore: Remove build products from list

The following patterns were previously active.
They have been commented out because the system "make" will pick up build
products in the source tree causing strange build failures.  The benefit
of avoiding an accidental commit of a binary is quickly offset by the
liability of chasing build failures caused by "invisible" files.  This
has burned a few people already and even the source of bug reports.

*.[psS]o
!/contrib/nvi/docs/USD.doc/vi.ref/index.so
!/contrib/nvi/docs/USD.doc/vi.ref/ref.so
*.a
!/bin/csh/USD.doc/csh.a
*.o
am-utils: Patch for recent flex

To prepare for the import of the latest flex, am-utils needs a tweak.
This allows both the old flex and the new flex to build it.  It is the
only software that failed to build out of the box with the new flex.
Import flex-2.5.37 to new vendor branch
Merge branch 'vendor/FLEX'
flex: Add local modifications and DragonFly READMEs

The quality of the latest flex 2.5.37 release is pretty poor.  The
man page displayed the wrong version, the code doesn't compile with
GCC 4.7, the new lerrs_fatal function missing a protocol and then
given the wrong type once when it was called.  Some of the errors
could have been fixed with higher WARNS settings but these patches
applied over the flex vendor branch should fix the bugs.

The standard DragonFly README files are added at the same time.
flex: Add world makefiles, but don't tie it into build yet.
flex/lex: Activate flex 2.5.37, deactivate lex 2.5.4

Flex is a bootstrap tool.  This swaps the new flex for the old lex.
The old lex subdirectory should stay in place for around a week in case
we need to revert this change for any reason.
kernel: Fix the build of the SOEKRIS kernel config.

It's the only one that has if_ath and 80211 in the kernel and ATH_DEBUG
and IEEE80211_DEBUG isn't set at the same time. So it caught a few
ethstr[] that were not yet under the proper #ifdef.
kernel/netgraph7: Remove <sys/ktr.h>. There's no DragonFly KTR here.
kernel/netgraph7: Add a missing header to the Makefile.