X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/cfad56a4449011e34aa917136cb6844ef453edcc..HEAD:/README diff --git a/README b/README index 256b7d0d6..92d786c06 100644 --- a/README +++ b/README @@ -62,7 +62,7 @@ Required External Packages ================================================ Guile requires the following external packages: - - GNU MP, at least version 4.1 + - GNU MP, at least version 4.2 GNU MP is used for bignum arithmetic. It is available from http://gmplib.org/ . @@ -72,7 +72,7 @@ Guile requires the following external packages: libltdl is used for loading extensions at run-time. It is available from http://www.gnu.org/software/libtool/ . - - GNU libunistring + - GNU libunistring, at least version 0.9.3 libunistring is used for Unicode string operations, such as the `utf*->string' procedures. It is available from @@ -82,7 +82,7 @@ Guile requires the following external packages: libgc (aka. the Boehm-Demers-Weiser garbage collector) is the conservative garbage collector used by Guile. It is available - from http://www.hpl.hp.com/personal/Hans_Boehm/gc/ . + from http://www.hboehm.info/gc/ . - libffi @@ -93,10 +93,15 @@ Guile requires the following external packages: - pkg-config Guile's ./configure script uses pkg-config to discover the correct - compile and link options for libgc and libffi. If you don't have - pkg-config installed, or you have a version of libgc that doesn't - provide a .pc file, you can work around this by setting some - variables as part of the configure command-line: + compile and link options for libgc and libffi. For this to work, + the `PKG_CONFIG_PATH' environment variable must be set to point to + the places where libgc's and libffi's `.pc' files can be found: + + PKG_CONFIG_PATH=/path/to/libgc/lib/pkgconfig:/path/to/libffi/lib/pkgconfig + + Alternatively, when pkg-config is not installed, you can work around + this by setting some variables as part of the configure + command-line: - PKG_CONFIG=true @@ -239,25 +244,28 @@ switches specific to Guile you may find useful in some circumstances. Cross building Guile ===================================================== -As of guile-1.5.x, the build process uses compiled C files for -snarfing, and (indirectly, through libtool) for linking, and uses the -guile executable for generating documentation. +As of Guile 2.0.x, the build process produces a library, libguile-2.0, +along with Guile "object files" containing bytecode to be interpreted by +Guile's virtual machine. The bytecode format depends on the endianness +and word size of the host CPU. -When cross building guile, you first need to configure, build and -install guile for your build host. +Thus, when cross building Guile, you first need to configure, build and +install it for your build host. -Then, you may configure guile for cross building, eg: +Then, you may configure Guile for cross building: ./configure --host=i686-pc-cygwin --disable-shared -A C compiler for the build system is required. The default is -"PATH=/usr/bin:$PATH cc". If that doesn't suit it can be specified -with the CC_FOR_BUILD variable in the usual way, for instance +A C compiler for the build system is required. If that doesn't suit it +can be specified with the CC_FOR_BUILD variable in the usual way, for +instance: ./configure --host=m68k-unknown-linux-gnu CC_FOR_BUILD=/my/local/gcc Guile for the build system can be specified similarly with the -GUILE_FOR_BUILD variable, it defaults to just "guile". +GUILE_FOR_BUILD variable, which defaults to whatever `guile' executable +is found in $PATH. It must have the exact same version has the Guile +that you intend to cross-build. Using Guile Without Installing It =========================================