TinyURL widget - shorten your URL's for free!

Enter a long URL to make tiny:

Wednesday, January 29, 2014

USB Keyboard problems on the Dell Optiplex 9020 - use the mini-DIN ports!


I had a problem getting the boot menu and the system menu to appear while rebooting a Dell Optiplex 9020.

According to the manual here, the System menu in BIOS comes up with the F2 key and the boot menu comes up with the F12 key. But when I plugged a USB keyboard in, I could not get those options to appear before it booted Windows.

I noticed mini DIN keyboard and mouse connectors on the back; Why would a brand new computer have a really old interface? So, I found a mini-DIN keyboard and plugged it in. It works, now you can get the data to the BIOS before the DOS / Windows takes over.

My diagnosis is that the BIOS does not initialize the USB device in the proper sequence early enough so that you can use the keyboard in time, perhaps that's why they included mini-DIN interfaces? Great design feature, Dell!

Friday, January 10, 2014

Simple way to add doxygen to your GNU Autotools project

[Edited with changes in Autotools 2016...]

I tried Oren Ben-Kiki's doxygen support here and got some errors when trying doxygen generation inside a directory that wasn't source code directory because of the way it's configured. So here is my simple version:


1. inside top source dir execute:

doxygen -g

to generate Doxyfile.

2. copy that to Doxyfile.in

3. edit Doxyfile.in with the following variables inserted where it makes sense:

PROJECT_NAME = @PACKAGE@
PROJECT_NUMBER = @VERSION@
OUTPUT_DIRECTORY = doxygen
down halfway in the doxygen.in file change
INPUT = @SRC_SUBDIRS@

Then, inside configure.ac insert:
SRC_SUBDIRS = src
# shell script to find directories
for FILE in `ls -d src/*`
do
case "$FILE" in
autom4te* ) continue ;; #
doxygen* ) continue ;; # exclude doxygen dir
*Makefile* ) continue ;; # exclude doxygen dir
m4*) continue ;; #
* )
SRC_SUBDIRS+=" $FILE"
esac
done
at the bottom of configure.ac:

AC_SUBST([SRC_SUBDIRS])

and make sure you add the target doxygen file (it will start with doxygen.in and generate doxygen)

# OUTPUT STAGE
AC_CONFIG_FILES([Makefile Doxyfile])

Then inside your Makefile.am add:


EXTRA_DIST += Doxyfile.in

# simple doxygen target
dox: Doxyfile.in
doxygen Doxyfile


# clean up the extras including doxygen
clean-local:
cd ${top_srcdir}
rm -rf doxygen


now when you
make clean

it will remove the doxygen directory.
When you

make dox

it will run doxygen and make html and latex outputs. You will need to configure other changes to the doxygen to get specific output but this will get you started fast...

GNU Autotools make dist-bz2

If you are making a GNU autotools / automake package, the make command to make a bzip2 compressed distribution tarball is make dist-bzip2