[OpenAFS-devel] suggestion for helping migration to autoconf/etc.

Neulinger, Nathan nneul@umr.edu
Thu, 12 Apr 2001 08:13:36 -0500


I'd like to propose that a top level "config.h" file be MANUALLY created in
the existing sources. The content of this file will be hand maintained until
autoconf comes around. 

Here's what I'd like to put in it:

Snippet from install.c:

#define MAXFILES 200
#define BUFSIZE 32768
#include <afs/param.h>
#include <stdio.h>
#include <pwd.h>
#include <grp.h>
#include <errno.h>
#ifdef  AFS_AIX32_ENV
#include <signal.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <sys/time.h>
#ifdef  AFS_SUN5_ENV
#include <fcntl.h>
#include <string.h>
#include <elf.h>
#else
#ifdef AFS_DARWIN_ENV
#include <fcntl.h>
#include <string.h>
#else
#include <strings.h>
#include <a.out.h>
#endif
#endif
#ifdef  AFS_HPUX_ENV
#include <utime.h>
#endif
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>


I'd like to put

#ifdef AFS_HPUX_ENV
#define HAVE_UTIME_H
#endif

#ifdef AFS_SUN5_ENV
#define HAVE_ELF_H
#define HAVE_STRINGS_H
#define HAVE_FCNTL_H
#endif
...

And then change the includes in install.c to include that top level config.h
and check HAVE_* instead. This could be done a file-at-a-time.

This would allow a steady process of centralizing feature checks without
actually depending on the full move to autoconf. Once the full move to
autoconf is usable, then that config.h file could simply be changed to be
autogenerated instead of the manual checks. 

The idea would be to hand-craft the same defines that autoconf would define
to make it a quick switch when you're ready.

-- Nathan

------------------------------------------------------------
Nathan Neulinger                       EMail:  nneul@umr.edu
University of Missouri - Rolla         Phone: (573) 341-4841
Computing Services                       Fax: (573) 341-4216