mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 00:41:02 +00:00
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:
parent
2250683c03
commit
1fa2e815b7
12 changed files with 1499 additions and 2538 deletions
11
ChangeLog
11
ChangeLog
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
unknown.gsdocrefs
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
#
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
16
config/config.kvmopen.c
Normal 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;
|
||||
}
|
20
configure.ac
20
configure.ac
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue