*** gnulib/lib/argmatch.h	2005-09-23 06:15:13.000000000 +0200
--- gettext-tools/lib/argmatch.h	2006-07-22 15:57:18.000000000 +0200
***************
*** 50,56 ****
     return.  By default, this is a function that calls ARGMATCH_DIE which
     in turn defaults to 'exit (exit_failure)'.  */
  typedef void (*argmatch_exit_fn) (void);
! extern argmatch_exit_fn argmatch_die;
  
  /* Report on stderr why argmatch failed.  Report correct values. */
  
--- 50,56 ----
     return.  By default, this is a function that calls ARGMATCH_DIE which
     in turn defaults to 'exit (exit_failure)'.  */
  typedef void (*argmatch_exit_fn) (void);
! extern DLL_VARIABLE argmatch_exit_fn argmatch_die;
  
  /* Report on stderr why argmatch failed.  Report correct values. */
  
