324 lines
8.3 KiB
Diff
324 lines
8.3 KiB
Diff
https://savannah.gnu.org/patch/?7473
|
|
|
|
From 8958c3cb7b77ec50d8dae0490d8c80dee798e20d Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
|
|
Date: Fri, 18 Feb 2011 06:13:20 +0100
|
|
Subject: [PATCH] Don't generate files.h at build-time using an execution test.
|
|
|
|
The *_LOC variables are never used in the build itself, but only in the
|
|
built code; this means that they don't need to be known to ./configure at
|
|
all.
|
|
|
|
Since the previous method made acct not cross-compilable at all, this is
|
|
much preferred.
|
|
|
|
--- acct-6.6.1/configure.ac
|
|
+++ acct-6.6.1/configure.ac
|
|
@@ -228,102 +228,6 @@
|
|
AC_EGREP_HEADER([comp_t],[sys/acct.h],[AC_DEFINE(HAVE_COMP_T, 1, Define if <sys/acct.h> uses the COMP_T type.)])
|
|
) ]
|
|
)
|
|
-dnl
|
|
-dnl find out where utmp/pacct are stored
|
|
-dnl
|
|
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
-#include <stdio.h>
|
|
-#include <stdlib.h>
|
|
-#include <sys/types.h>
|
|
-#include <stdint.h> /* GNU/kFreeBSD */
|
|
-#include <sys/acct.h>
|
|
-#include <utmp.h>
|
|
-
|
|
-#ifndef WTMP_FILE
|
|
-# if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__linux__) \
|
|
- || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
|
|
-# define WTMP_FILE "/var/log/account/wtmp"
|
|
-# else
|
|
-# if defined(sun) || defined(AMIX)
|
|
-# define WTMP_FILE "/var/adm/wtmp"
|
|
-# else
|
|
-# if defined(sgi) || defined(SVR4)
|
|
-# define WTMP_FILE "/usr/adm/wtmp"
|
|
-# else
|
|
-# define WTMP_FILE "/usr/adm/wtmp"
|
|
-# endif
|
|
-# endif
|
|
-# endif
|
|
-#endif
|
|
-
|
|
-#ifndef ACCT_FILE
|
|
-# if defined(__FreeBSD__) || defined(__linux__) \
|
|
- || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
|
|
-# define ACCT_FILE "/var/log/account/pacct"
|
|
-# else
|
|
-# if defined(__NetBSD__)
|
|
-# define ACCT_FILE "/var/log/account/acct"
|
|
-# else
|
|
-# if defined(sun) || defined(AMIX)
|
|
-# define ACCT_FILE "/var/adm/pacct"
|
|
-# else
|
|
-# if defined(sgi) || defined(SVR4) || defined(M_XENIX)
|
|
-# define ACCT_FILE "/usr/adm/pacct"
|
|
-# else
|
|
-# define ACCT_FILE "/usr/adm/acct"
|
|
-# endif
|
|
-# endif
|
|
-# endif
|
|
-# endif
|
|
-#endif
|
|
-
|
|
-#ifndef SAVACCT_FILE
|
|
-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \
|
|
- || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
|
|
-# define SAVACCT_FILE "/var/log/account/savacct"
|
|
-# else
|
|
-# if defined(sun) || defined(AMIX)
|
|
-# define SAVACCT_FILE "/var/adm/savacct"
|
|
-# else
|
|
-# if defined(sgi) || defined(SVR4)
|
|
-# define SAVACCT_FILE "/usr/adm/savacct"
|
|
-# else
|
|
-# define SAVACCT_FILE "/usr/adm/savacct"
|
|
-# endif
|
|
-# endif
|
|
-# endif
|
|
-#endif
|
|
-
|
|
-#ifndef USRACCT_FILE
|
|
-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \
|
|
- || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
|
|
-# define USRACCT_FILE "/var/log/account/usracct"
|
|
-# else
|
|
-# if defined(sun) || defined(AMIX)
|
|
-# define USRACCT_FILE "/var/adm/usracct"
|
|
-# else
|
|
-# if defined(sgi) || defined(SVR4)
|
|
-# define USRACCT_FILE "/usr/adm/usracct"
|
|
-# else
|
|
-# define USRACCT_FILE "/usr/adm/usracct"
|
|
-# endif
|
|
-# endif
|
|
-# endif
|
|
-#endif
|
|
-
|
|
-main ()
|
|
-{
|
|
- FILE *fp;
|
|
- fp = fopen ("locs", "w");
|
|
- fprintf (fp, "WTMP_FILE_LOC=%s\n", WTMP_FILE);
|
|
- fprintf (fp, "ACCT_FILE_LOC=%s\n", ACCT_FILE);
|
|
- fprintf (fp, "SAVACCT_FILE_LOC=%s\n", SAVACCT_FILE);
|
|
- fprintf (fp, "USRACCT_FILE_LOC=%s\n", USRACCT_FILE);
|
|
- fclose (fp);
|
|
- exit(0);
|
|
-}
|
|
-]])],[. ./locs; rm locs],[echo "Error -- could not locate your wtmp and acct files."; exit 1],[echo "Sorry -- you cannot cross-compile this package (FIXME)."; exit 1 ])
|
|
-
|
|
dnl types
|
|
AC_TYPE_PID_T dnl for sys/acct.h
|
|
AC_TYPE_UID_T dnl same as above
|
|
@@ -366,12 +270,6 @@
|
|
AC_SUBST(LASTCOMM_MAN)
|
|
AC_SUBST(SA_MAN)
|
|
|
|
-dnl Substitutions for file locations
|
|
-AC_SUBST(WTMP_FILE_LOC)
|
|
-AC_SUBST(ACCT_FILE_LOC)
|
|
-AC_SUBST(SAVACCT_FILE_LOC)
|
|
-AC_SUBST(USRACCT_FILE_LOC)
|
|
-
|
|
dnl Dump the makefiles and etc.
|
|
-AC_CONFIG_FILES([Makefile lib/Makefile files.h version.h])
|
|
+AC_CONFIG_FILES([Makefile lib/Makefile version.h])
|
|
AC_OUTPUT
|
|
--- acct-6.6.1/files.h
|
|
+++ acct-6.6.1/files.h
|
|
@@ -0,0 +1,123 @@
|
|
+/* files.h
|
|
+ *
|
|
+ * file locations
|
|
+ *
|
|
+ */
|
|
+
|
|
+#ifndef FILES_H
|
|
+#define FILES_H
|
|
+
|
|
+#include "config.h"
|
|
+
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <sys/types.h>
|
|
+#include <stdint.h> /* GNU/kFreeBSD */
|
|
+
|
|
+#ifdef LINUX_MULTIFORMAT
|
|
+# include "linux-acct.h"
|
|
+#else
|
|
+# include <stdint.h> /* GNU/kFreeBSD */
|
|
+# include <sys/acct.h>
|
|
+# if defined __FreeBSD__ || defined __FreeBSD_kernel__
|
|
+# include <osreldate.h>
|
|
+# if __FreeBSD_kernel__
|
|
+# define __FreeBSD_version __FreeBSD_kernel_version
|
|
+# endif /* __FreeBSD_kernel__ */
|
|
+# if __FreeBSD_version >= 700100 /* FreeBSD 7.0-STABLE */
|
|
+# define acct acctv2
|
|
+# define ac_flag ac_flagx
|
|
+# endif
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#include <utmp.h>
|
|
+
|
|
+#ifndef WTMP_FILE
|
|
+# if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__linux__) \
|
|
+ || defined(__FreeBSD_kernel__)
|
|
+# define WTMP_FILE "/var/log/wtmp"
|
|
+# else
|
|
+# if defined(sun) || defined(AMIX)
|
|
+# define WTMP_FILE "/var/adm/wtmp"
|
|
+# else
|
|
+# if defined(sgi) || defined(SVR4)
|
|
+# define WTMP_FILE "/usr/adm/wtmp"
|
|
+# else
|
|
+# define WTMP_FILE "/usr/adm/wtmp"
|
|
+# endif
|
|
+# endif
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#ifndef ACCT_FILE
|
|
+# if defined(__FreeBSD__) || defined(__linux__) \
|
|
+ || defined(__FreeBSD_kernel__)
|
|
+# define ACCT_FILE "/var/account/pacct"
|
|
+# else
|
|
+# if defined(__NetBSD__)
|
|
+# define ACCT_FILE "/var/account/acct"
|
|
+# else
|
|
+# if defined(sun) || defined(AMIX)
|
|
+# define ACCT_FILE "/var/adm/pacct"
|
|
+# else
|
|
+# if defined(sgi) || defined(SVR4) || defined(M_XENIX)
|
|
+# define ACCT_FILE "/usr/adm/pacct"
|
|
+# else
|
|
+# define ACCT_FILE "/usr/adm/acct"
|
|
+# endif
|
|
+# endif
|
|
+# endif
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#ifndef SAVACCT_FILE
|
|
+# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \
|
|
+ || defined(__FreeBSD_kernel__)
|
|
+# define SAVACCT_FILE "/var/account/savacct"
|
|
+# else
|
|
+# if defined(sun) || defined(AMIX)
|
|
+# define SAVACCT_FILE "/var/adm/savacct"
|
|
+# else
|
|
+# if defined(sgi) || defined(SVR4)
|
|
+# define SAVACCT_FILE "/usr/adm/savacct"
|
|
+# else
|
|
+# define SAVACCT_FILE "/usr/adm/savacct"
|
|
+# endif
|
|
+# endif
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#ifndef USRACCT_FILE
|
|
+# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \
|
|
+ || defined(__FreeBSD_kernel__)
|
|
+# define USRACCT_FILE "/var/account/usracct"
|
|
+# else
|
|
+# if defined(sun) || defined(AMIX)
|
|
+# define USRACCT_FILE "/var/adm/usracct"
|
|
+# else
|
|
+# if defined(sgi) || defined(SVR4)
|
|
+# define USRACCT_FILE "/usr/adm/usracct"
|
|
+# else
|
|
+# define USRACCT_FILE "/usr/adm/usracct"
|
|
+# endif
|
|
+# endif
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#define WTMP_FILE_LOC WTMP_FILE
|
|
+#define ACCT_FILE_LOC ACCT_FILE
|
|
+#define SAVACCT_FILE_LOC SAVACCT_FILE
|
|
+#define USRACCT_FILE_LOC USRACCT_FILE
|
|
+
|
|
+/* Workaround for a kernel includes problem */
|
|
+#if defined(__linux__) && defined(__alpha__)
|
|
+#undef AHZ
|
|
+#define AHZ 1024
|
|
+#endif
|
|
+
|
|
+#ifndef AHZ
|
|
+#define AHZ 64
|
|
+#endif
|
|
+
|
|
+#endif /* ! FILES_H */
|
|
--- acct-6.6.1/files.h.in
|
|
+++ acct-6.6.1/files.h.in
|
|
@@ -1,48 +0,0 @@
|
|
-/* files.h.in
|
|
- *
|
|
- * file locations
|
|
- *
|
|
- */
|
|
-
|
|
-#ifndef FILES_H
|
|
-#define FILES_H
|
|
-
|
|
-#include "config.h"
|
|
-
|
|
-#include <sys/types.h>
|
|
-
|
|
-#ifdef LINUX_MULTIFORMAT
|
|
-# include "linux-acct.h"
|
|
-#else
|
|
-# include <stdint.h> /* GNU/kFreeBSD */
|
|
-# include <sys/acct.h>
|
|
-# if defined __FreeBSD__ || defined __FreeBSD_kernel__
|
|
-# include <osreldate.h>
|
|
-# if __FreeBSD_kernel__
|
|
-# define __FreeBSD_version __FreeBSD_kernel_version
|
|
-# endif /* __FreeBSD_kernel__ */
|
|
-# if __FreeBSD_version >= 700100 /* FreeBSD 7.0-STABLE */
|
|
-# define acct acctv2
|
|
-# define ac_flag ac_flagx
|
|
-# endif
|
|
-# endif
|
|
-#endif
|
|
-
|
|
-#include <utmp.h>
|
|
-
|
|
-#define WTMP_FILE_LOC "@WTMP_FILE_LOC@"
|
|
-#define ACCT_FILE_LOC "@ACCT_FILE_LOC@"
|
|
-#define SAVACCT_FILE_LOC "@SAVACCT_FILE_LOC@"
|
|
-#define USRACCT_FILE_LOC "@USRACCT_FILE_LOC@"
|
|
-
|
|
-/* Workaround for a kernel includes problem */
|
|
-#if defined(__linux__) && defined(__alpha__)
|
|
-#undef AHZ
|
|
-#define AHZ 1024
|
|
-#endif
|
|
-
|
|
-#ifndef AHZ
|
|
-#define AHZ 64
|
|
-#endif
|
|
-
|
|
-#endif /* ! FILES_H */
|
|
--- acct-6.6.1/Makefile.am
|
|
+++ acct-6.6.1/Makefile.am
|
|
@@ -66,11 +66,6 @@
|
|
SYS_AC = @SYS_AC@
|
|
SYS_SA = @SYS_SA@
|
|
|
|
-WTMP_FILE_LOC = @WTMP_FILE_LOC@
|
|
-ACCT_FILE_LOC = @ACCT_FILE_LOC@
|
|
-SAVACCT_FILE_LOC = @SAVACCT_FILE_LOC@
|
|
-USRACCT_FILE_LOC = @USRACCT_FILE_LOC@
|
|
-
|
|
compare-ac: ac
|
|
@echo
|
|
@echo "Running tests for ac"
|