Add kvm config. Update docs

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19410 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fedor 2004-05-28 19:44:29 +00:00
parent 2250683c03
commit 1fa2e815b7
12 changed files with 1499 additions and 2538 deletions

View file

@ -1,3 +1,14 @@
2004-05-28 Adam Fedor <fedor@gnu.org>
* configure.ac: Check for kvm access and use it if available.
* config/config.kvmopen.c: New file.
* Documentation/Base.gsdoc: Fix broken link.
* Documentation/coding-standards.texi: Add section.
* Documentation/General/GNUmakefile: Include config.mak
* Documentation/Tools/GNUmakefile: Idem.
* Source/DocMakefile: Make documentation with frames.
2004-05-26 Richard Frith-Macdonald <rfm@gnu.org>
* Source/GSMime.m: When extraneous data is encountered in the input,

View file

@ -30,7 +30,7 @@
support both versions. In some cases the newer MacOS APIs are
incompatible with OpenStep, and GNUstep usually supports the richer
version. See the
<uref url="OpenStepCompliance.html">OpenStep Compliance</uref> section
<uref url="../General/OpenStepCompliance.html">OpenStep Compliance</uref> section
for more information on OpenStep Compliance.
</p>
<p>

View file

@ -26,6 +26,7 @@
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
include $(GNUSTEP_MAKEFILES)/common.make
include ../../config.mak
DOCUMENT_NAME = General
@ -45,6 +46,7 @@ OpenStepCompliance.gsdoc \
# Use local version of autogsdoc in case it is not installed
AUTOGSDOC=../../Tools/obj/autogsdoc
BASE_MAKE_LOADED=yes
include $(GNUSTEP_MAKEFILES)/documentation.make

View file

@ -62,6 +62,7 @@ into another language, under the above conditions for modified versions.
* Error Handling::
* Variable Declaration::
* Object Persistance::
* Before You Commit::
* Contributing::
@end menu
@ -348,7 +349,7 @@ commonly used compilers.
@c ******************************************************************
@node Object Persistance, Contributing, Variable Declaration, Top
@node Object Persistance, Before You Commit, Variable Declaration, Top
@section Object Persistance
The standard method of saving and restoring object information in GNUstep
@ -360,8 +361,23 @@ stored archives (for instance, those created by Gorm). The easiest way to do
this is to use class version numbers to indicate which archive configuration
should be read.
@c ******************************************************************
@node Before You Commit, Contributing, Object Persistance, Top
@section Before You Commit
@node Contributing, , Object Persistance, Top
@itemize @bullet
@item Make sure you have a ChangeLog entry
@item Make sure everything still compiles
@item Make sure you've tested the change as much as is reasonable.
@item If you have added a class, add the class to @file{Foudation/Foundation.h}
or @file{Appkit/Appkit.h} if appropriate.
@item If you have updated and configure checks, be sure to run both
autoconf and autoheader.
@end itemize
@c ******************************************************************
@node Contributing, , Before You Commit, Top
@section Contributing
Contributing code is not difficult. Here are

View file

@ -1 +0,0 @@
unknown.gsdocrefs

View file

@ -58,8 +58,8 @@
/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID
/* Define if you have this header */
#undef HAVE_GICONV_H
/* Define if you have this function */
#undef HAVE_GICONV
/* Define to 1 if you have the <gmp.h> header file. */
#undef HAVE_GMP_H
@ -91,12 +91,6 @@
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
/* Define to 1 if you have the `giconv' library (-lgiconv). */
#undef HAVE_LIBGICONV
/* Define to 1 if you have the `iconv' library (-liconv). */
#undef HAVE_LIBICONV
/* Define to 1 if you have the `kvm' library (-lkvm). */
#undef HAVE_LIBKVM
@ -106,7 +100,7 @@
/* Define if libxml available */
#undef HAVE_LIBXML
/* Define if libxml/SAX2.h available */
/* Define to 1 if you have the <libxml/SAX2.h> header file. */
#undef HAVE_LIBXML_SAX2_H
/* Define if libxslt available */
@ -406,6 +400,9 @@
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define if you can access the kernel via kvm_open */
#undef have_kvm_env
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline

View file

@ -25,6 +25,7 @@
MAKEFILE_NAME = DocMakefile
include $(GNUSTEP_MAKEFILES)/common.make
include ../config.mak
DOCUMENT_NAME = Base BaseAdditions
@ -122,6 +123,7 @@ GCObject.h \
# directory.
#
Base_AGSDOC_FLAGS = \
-MakeFrames YES \
-DocumentationDirectory ../Documentation/Base \
-HeaderDirectory ../Headers/Foundation \
-Declared Foundation \
@ -142,6 +144,7 @@ Base_AGSDOC_FLAGS = \
}' -Up Base
BaseAdditions_AGSDOC_FLAGS = \
-MakeFrames YES \
-DocumentationDirectory ../Documentation/BaseAdditions \
-HeaderDirectory ../Headers/Additions/GNUstepBase \
-Declared GNUstepBase \
@ -163,6 +166,9 @@ BaseAdditions_AGSDOC_FLAGS = \
# Use local version of autogsdoc in case it is not installed
AUTOGSDOC=../Tools/obj/autogsdoc
# Fool make into thinking we are installed even if we are not
BASE_MAKE_LOADED=yes
include $(GNUSTEP_MAKEFILES)/documentation.make
#

View file

@ -25,6 +25,7 @@
MAKEFILE_NAME = DocMakefile
include $(GNUSTEP_MAKEFILES)/common.make
include ../config.mak
DOCUMENT_NAME = BaseTools
@ -72,6 +73,7 @@ BaseTools_AGSDOC_FLAGS = \
# Use local version of autogsdoc in case it is not installed
AUTOGSDOC=../Tools/obj/autogsdoc
BASE_MAKE_LOADED=yes
include $(GNUSTEP_MAKEFILES)/documentation.make

View file

@ -19,6 +19,8 @@ ifeq ($(shared),yes)
CONFIG_SYSTEM_LIBS += @LIBS@
endif
GNUSTEP_BASE_HAVE_LIBXML=@HAVE_LIBXML@
# Default to building only -baseadd
# on non *-gnu-* library combos
ifneq ($(FOUNDATION_LIB),gnu)

16
config/config.kvmopen.c Normal file
View file

@ -0,0 +1,16 @@
/*
* Check to see if we can open the kernel memory.
*/
#include <stdio.h>
#include <kvm.h>
#include <fcntl.h>
#include <sys/param.h>
#include <sys/sysctl.h>
int main()
{
kvm_t *kptr = NULL;
/* open the kernel */
kptr = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "NSProcessInfo");
return (kptr != NULL) ? 0 : 1;
}

3940
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -824,7 +824,25 @@ fi
#--------------------------------------------------------------------
# If /proc doesn't work, try kvm (on FreeBSD, for instance)
#--------------------------------------------------------------------
have_kvm_env=0
save_LIBS="$LIBS"
AC_CHECK_LIB(kvm, kvm_getenvv)
if test "$ac_cv_lib_kvm_kvm_getenvv" = yes; then
AC_MSG_CHECKING(if we can access kernel memory)
AC_TRY_RUN([#include "$srcdir/config/config.kvmopen.c"],
have_kvm_env=1,
have_kvm_env=0,
have_kvm_env=0)
AC_DEFINE_UNQUOTED(have_kvm_env, $have_kvm_env,
[Define if you can access the kernel via kvm_open])
if test $have_kvm_env = 1; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
# Reset LIBS since we don't need kvm
LIBS="$save_LIBS"
fi
#--------------------------------------------------------------------
# Include redefinition of main () only if needed.
@ -868,7 +886,7 @@ GS_FAKE_MAIN=0
if test "$enable_fake_main" = "yes"; then
GS_FAKE_MAIN=1
elif test "$enable_pass_arguments" = "no"; then
if test "$objc_load_method_worked" = yes -a "$ac_cv_sys_procfs" = yes; then
if test "$objc_load_method_worked" = yes -a \( "$ac_cv_sys_procfs" = yes -o "$have_kvm_env" = 1 \); then
GS_FAKE_MAIN=0
else
GS_FAKE_MAIN=1