Missing OSCON: No regrets

This year I decided early on not to attend OSCON 2006. I enjoyed the last four OSCON’s, and simply decided I didn’t want to go to this one.

In hindsight, that was an excellent decision.

Don’t get me wrong, OSCON is a blast. It is a pinnacle of the open-source community, and well worth the price of admission. I have no doubt I’d have enjoyed myself very thoroughly and learned a lot by going again. The main reason I didn’t want to go was I needed a break.

So I’m taking a break from OSCON, away from tech heaven… and I’m having another blast working on another self-appointed Mozilla task: Web Forms 2.0.

My motivation is a bit narrow – a lot of the functionality in WF2 will also be useful for Verbosio. But by my beginning to implement it, Firefox trunk and SeaMonkey trunk will pick up a sizable boost in HTML form capabilities. Some of these I’ll borrow from other XUL toolkit improvements (such as the date/time pickers Neil Deakin just blogged about), while other things XUL toolkit will itself inherit from my work.

I also just figured out an old trick (old enough to where CVS blame’s log comment says “Free the lizard”), not well documented.

Here’s a sample .mozconfig file:

# Include another .mozconfig, so we do everything incrementally
. /cygdrive/m/configs/nav-sm-debug.mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../ifdeftest
OBJDIR_CONFIG=${topsrcdir}/../ifdeftest/config
mkdir -p ${OBJDIR_CONFIG}
echo "MOZ_WEB_FORMS = 1
DEFINES += -DMOZ_WEB_FORMS " > ${OBJDIR_CONFIG}/myconfig.mk
echo ${OBJDIR_CONFIG}/myconfig.mk
cat ${OBJDIR_CONFIG}/myconfig.mk

What do these do? They turn on MOZ_WEB_FORMS for #ifdef’ing code in Makefiles, compiled code, and chrome.

In other words, through a simple .mozconfig file, I can selectively activate specific preprocessor flags. This can be very useful (if I don’t abuse it, of course). I’m already dreaming up nefarious schemes for this new ability… muahahahaha…

UPDATE: Fixed a small bug in the .mozconfig above.