From 754d18b0501ae9b3dae5c5e44e151357de892876 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 9 Apr 2003 18:49:48 +0000 Subject: [PATCH] Move install docs into reference manual. --- ChangeLog | 6 + ChangeLog.pre-2-10 | 6 + ChangeLog.pre-2-12 | 6 + ChangeLog.pre-2-4 | 6 + ChangeLog.pre-2-6 | 6 + ChangeLog.pre-2-8 | 6 + INSTALL | 105 +++--------------- INSTALL.in | 220 +++---------------------------------- docs/reference/ChangeLog | 6 + docs/reference/glib/building.sgml | 129 ++++++++++++++++++++-- docs/reference/glib/glib-docs.sgml | 26 ----- 11 files changed, 196 insertions(+), 326 deletions(-) diff --git a/ChangeLog b/ChangeLog index 04c0709..699dbef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 04c0709..699dbef 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 04c0709..699dbef 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 04c0709..699dbef 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 04c0709..699dbef 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 04c0709..699dbef 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * INSTALL: + * INSTALL.in: Remove list of configuration flags, since these + are already documented in docs/reference/glib/building.sgml. + 2003-04-08 Matthias Clasen * INSTALL: Move Cross-compliation information to reference manual. diff --git a/INSTALL b/INSTALL index ea5f865..6175b90 100644 --- a/INSTALL +++ b/INSTALL @@ -37,7 +37,7 @@ configure. This forces libiconv to be used. Note that if you have libiconv installed in your default include search path (for instance, in /usr/local/), but don't enable -it, you will get an error while compiling GTK+ because the +it, you will get an error while compiling GLib because the iconv.h that libiconv installs hides the system iconv. If you are using the native iconv implementation on Solaris @@ -49,11 +49,11 @@ SUNWkiu8 packages. The native iconv on Compaq Tru64 doesn't contain support for UTF-8, so you'll need to use GNU libiconv instead. (When -using GNU libiconv for GTK+, you'll need to use GNU libiconv +using GNU libiconv for GLib, you'll need to use GNU libiconv for GNU gettext as well.) This probably applies to related operating systems as well. -Finally, for message catalog handling, GTK+ requires an implementation +Finally, for message catalog handling, GLib requires an implementation of gettext(). If your system doesn't provide this functionality, you should use the libintl library from the GNU gettext package, available from: @@ -63,90 +63,14 @@ available from: The Nitty-Gritty ================ -The 'configure' script can be given a number of options to enable -and disable various features. For a complete list, type: - - ./configure --help - -A few of the more important ones: - -* --prefix=PREFIX install architecture-independent files in PREFIX - [ Defaults to /usr/local ] - -* --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [ Defaults to the value given to --prefix ] - -* --enable-debug=[yes/no/minimum] determines the amount of debugging - code to include. 'yes' will includes some - extra checks and debugging features that - may be useful for people developing with - GLib. 'no' produces a somewhat smaller and - faster library at the expense of reduced - robustness. - [ Defaults to 'minimum' for stable releases ] - -* --enable-gc-friendly When enabled all memory freed by the application, - but retained by GLib for performance reasons - is set to zero, thus making deployed garbage - collection or memory profiling tools detect - unlinked memory correctly. This will make GLib - slightly slower. - [ --disable-gc-friendly is default ] - -* --disable-mem-pools Do not cache freed objects. When specified, - GLib will immediately return freed memory - to the C library instead of keeping around - pools of free objects such as linked list - and hash table nodes. Specifying this - will make GLib slower in most cases, but it - will use less memory. - [ --enable-mem-pools is the default ] - -* --disable-threads Do not compile GLib to be multi thread safe. GLib - will be slightly faster then. This is however not - recommended, as many programs rely on GLib being - multi thread safe. - [ --enable-threads is the default ] - -* --with-threads=[none/posix/dce/solaris/win32] Specify a thread - implementation to use. - * 'posix' and 'dce' can be used interchangeable - to mean the different versions of posix - threads. configure tries to find out, which - one is installed. - * 'solaris' uses the native Solaris thread - implementation. - * 'none' means that GLib will be thread safe, - but does not have a default thread - implementation. This has to be supplied to - g_thread_init() by the programmer. - [ Determined by configure by default ] - -* --enable-included-printf=[yes/no/auto] Specify whether to build using - the included copy of the Trio library - for string formatting functions like printf(). - The default is 'auto', which means that - Trio will be used if configure detects - missing features in your system native - printf implementation. - -Options can be given to the compiler and linker by setting -environment variables before running configure. A few of the more -important ones: - - CC : The C compiler to use - CPPFLAGS : Flags for the C preprocesser such as -I and -D - CFLAGS : C compiler flags - -The most important use of this is to set the -optimization/debugging flags. For instance, to compile with no -debugging information at all, run configure as: - - CFLAGS=-O2 ./configure # Bourne compatible shells (sh/bash/zsh) - -or, - - setenv CFLAGS -O2 ; ./configure # csh and variants +Complete information about installing GLib can be found +in the file: + + docs/reference/glib/html/glib-building.html + +Or online at: + + http://developer.gnome.org/doc/API/2.0/glib/glib-building.html Installation directories @@ -182,8 +106,13 @@ Cross-compiling GLib Information about cross-compilation of GLib can be found in the file: - docs/reference/glib/docs/reference/glib/html/glib-cross-compiling.html + docs/reference/glib/html/glib-cross-compiling.html Or online at: http://developer.gnome.org/doc/API/2.0/glib/glib-cross-compiling.html + + + + + diff --git a/INSTALL.in b/INSTALL.in index b38e2ff..2181257 100644 --- a/INSTALL.in +++ b/INSTALL.in @@ -37,7 +37,7 @@ configure. This forces libiconv to be used. Note that if you have libiconv installed in your default include search path (for instance, in /usr/local/), but don't enable -it, you will get an error while compiling GTK+ because the +it, you will get an error while compiling GLib because the iconv.h that libiconv installs hides the system iconv. If you are using the native iconv implementation on Solaris @@ -49,11 +49,11 @@ SUNWkiu8 packages. The native iconv on Compaq Tru64 doesn't contain support for UTF-8, so you'll need to use GNU libiconv instead. (When -using GNU libiconv for GTK+, you'll need to use GNU libiconv +using GNU libiconv for GLib, you'll need to use GNU libiconv for GNU gettext as well.) This probably applies to related operating systems as well. -Finally, for message catalog handling, GTK+ requires an implementation +Finally, for message catalog handling, GLib requires an implementation of gettext(). If your system doesn't provide this functionality, you should use the libintl library from the GNU gettext package, available from: @@ -63,90 +63,14 @@ available from: The Nitty-Gritty ================ -The 'configure' script can be given a number of options to enable -and disable various features. For a complete list, type: - - ./configure --help - -A few of the more important ones: - -* --prefix=PREFIX install architecture-independent files in PREFIX - [ Defaults to /usr/local ] - -* --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [ Defaults to the value given to --prefix ] - -* --enable-debug=[yes/no/minimum] determines the amount of debugging - code to include. 'yes' will includes some - extra checks and debugging features that - may be useful for people developing with - GLib. 'no' produces a somewhat smaller and - faster library at the expense of reduced - robustness. - [ Defaults to 'minimum' for stable releases ] - -* --enable-gc-friendly When enabled all memory freed by the application, - but retained by GLib for performance reasons - is set to zero, thus making deployed garbage - collection or memory profiling tools detect - unlinked memory correctly. This will make GLib - slightly slower. - [ --disable-gc-friendly is default ] - -* --disable-mem-pools Do not cache freed objects. When specified, - GLib will immediately return freed memory - to the C library instead of keeping around - pools of free objects such as linked list - and hash table nodes. Specifying this - will make GLib slower in most cases, but it - will use less memory. - [ --enable-mem-pools is the default ] - -* --disable-threads Do not compile GLib to be multi thread safe. GLib - will be slightly faster then. This is however not - recommended, as many programs rely on GLib being - multi thread safe. - [ --enable-threads is the default ] - -* --with-threads=[none/posix/dce/solaris/win32] Specify a thread - implementation to use. - * 'posix' and 'dce' can be used interchangeable - to mean the different versions of posix - threads. configure tries to find out, which - one is installed. - * 'solaris' uses the native Solaris thread - implementation. - * 'none' means that GLib will be thread safe, - but does not have a default thread - implementation. This has to be supplied to - g_thread_init() by the programmer. - [ Determined by configure by default ] - -* --enable-included-printf=[yes/no/auto] Specify whether to build using - the included copy of the Trio library - for string formatting functions like printf(). - The default is 'auto', which means that - Trio will be used if configure detects - missing features in your system native - printf implementation. - -Options can be given to the compiler and linker by setting -environment variables before running configure. A few of the more -important ones: - - CC : The C compiler to use - CPPFLAGS : Flags for the C preprocesser such as -I and -D - CFLAGS : C compiler flags - -The most important use of this is to set the -optimization/debugging flags. For instance, to compile with no -debugging information at all, run configure as: - - CFLAGS=-O2 ./configure # Bourne compatible shells (sh/bash/zsh) - -or, - - setenv CFLAGS -O2 ; ./configure # csh and variants +Complete information about installing GLib can be found +in the file: + + docs/reference/glib/html/glib-building.html + +Or online at: + + http://developer.gnome.org/doc/API/2.0/glib/glib-building.html Installation directories @@ -167,7 +91,7 @@ and should be deleted. .pc files for the various libraries are installed in $exec_prefix/lib/pkgconfig to provide information when compiling -other packages that depend on GTK+. If you set PKG_CONFIG_PATH +other packages that depend on GLib. If you set PKG_CONFIG_PATH so that it points to this directory, then you can get the correct include flags and library flags for compiling a GLib application with: @@ -179,117 +103,9 @@ application with: Cross-compiling GLib ==================== -Cross-compilation is the proceess of compiling a program or -library on a different architecture or operating system then -it will be run upon. GLib is slightly more difficult to -cross-compile than many packages because much of GLib is -about hiding differences between different systems. - -These notes cover things specific to cross-compiling GLib; -for general information about cross-compilation, see the -autoconf info pages. - -GLib tries to detect as much information as possible about -the target system by compiling and linking programs without -actually running anything; however, some information GLib -needs is not available this way. This information needs -to be provided to the configure script via a "cache file" -or by setting the cache variables in your environment. - -As an example of using a cache file, to cross compile for -the "MingW32" Win32 runtine environment on a Linux system, -create a file 'win32.cache' with the following contents: - -=== -glib_cv_long_long_format=ll -glib_cv_stack_grows=no -=== - -Then execute the following commands: - -=== -PATH=/path/to/mingw32-compiler/bin:$PATH -chmod a-w win32.cache # prevent configure from changing it -./configure --cache-file=win32.cache --host=mingw32 -=== - -The complete list of cache file variables follows. Most -of these won't need to be set in most cases. - -Cache file variables -==================== - -glib_cv_long_long_format=[ll/q/I64] - - Format used by printf and scanf for 64 bit integers. "ll" is - the C99 standard, and what is used by the 'trio' library - that GLib builds if your printf() is insufficiently capable. - Doesn't need to be set if you are compiling using trio. - -glib_cv_stack_grows=[yes/no] - - Whether the stack grows up or down. Most places will want "no", - A few architectures, such as PA-RISC need "yes". - -glib_cv_working_bcopy=[yes/no] - - Whether your bcopy can handle overlapping copies. Only needs to be set - if you don't have memmove. (Very unlikely) - -glib_cv_sane_realloc=[yes/np] - - Whether your realloc() conforms to ANSI C and can handle NULL as - the first argument. Defaults to "yes" and probably doesn't need to be set. - -glib_cv_have_strlcpy=[yes/no] - - Whether you have strlcpy that matches OpenBSD. Defaults to "no", - which is safe, since GLib uses a built-in version in that case. - -glib_cv_va_val_copy=[yes/no] - - Whether va_list can be copied as a pointer. If set to "no", - then memcopy will be used. Only matters if you don't have - va_copy or __va_copy. (So, doesn't matter for GCC.) Defaults - to "yes" which is slightly more common than "no". - -glib_cv_rtldglobal_broken=[yes/no] - - Whether you have a bug found in OSF/1 v5.0. Defaults to "no". - -glib_cv_uscore=[yes/no] - - Whether an underscore needs to be prepended to symbols when - looking them up via dlsym. Only needs to be set if your system - uses dlopen/dlsym. - -ac_cv_func_posix_getpwuid_r=[yes/no] - - Whether you have a getpwuid_r function (in your C library, - not your thread library) that conforms to the POSIX spec. - (Takes a 'struct passwd **' as the final argument) - -ac_cv_func_nonposix_getpwuid_r=[yes/no] - - Whether you have some variant of getpwuid_r that doesn't - conform to to the POSIX spec, but GLib might be able to - use (or might segfault.) Only needs to be set if - ac_cv_func_posix_getpwuid_r is not set. It's safest to set - this to "no". - -glib_cv_use_pid_surrogate=[yes/no] - - Whether to use a setpriority() on the PID of the thread as - a method for setting the priority of threads. This only - needs to be set when using POSIX threads. - -ac_cv_func_printf_unix98=[yes/no] - - Whether your printf() family supports Unix98 style %N$ - positional parameters. Defaults to "no". - -ac_cv_func_vsnprintf_c99=[yes/no] - - Whether you have a vsnprintf() with C99 semantics. (C99 semantics - means returns the number of bytes that would have been written - had the output buffer had enough space.). Defaults to "no". +Information about cross-compilation of GLib can be found +in the file: + + docs/reference/glib/html/glib-cross-compiling.html + +Or online at: diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index 396458e..38eef97 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,9 @@ +2003-04-09 Matthias Clasen + + * glib/glib-docs.sgml: Move dependencies to building.sgml. + + * glib/building.sgml: Move stuff from INSTALL here. + 2003-04-08 Matthias Clasen * glib/cross.sgml: New file; cross-compilation information. diff --git a/docs/reference/glib/building.sgml b/docs/reference/glib/building.sgml index 0addb1e..d0e618d 100644 --- a/docs/reference/glib/building.sgml +++ b/docs/reference/glib/building.sgml @@ -10,7 +10,7 @@ How to compile GLib itself - + Building the Library on UNIX @@ -39,14 +39,122 @@ How to compile GLib itself ./configure --help for information about the standard options. + + The GTK+ documentation contains + further details + about the build process and ways to influence it. + + + Dependencies + + Before you can compile the GLib library, you need to have + various other tools and libraries installed on your + system. The two tools needed during the build process (as + differentiated from the tools used in when creating GLib + mentioned above such as autoconf) + are pkg-config and GNU make. + + + + + pkg-config + is a tool for tracking the compilation flags needed for + libraries that are used by the GLib library. (For each + library, a small .pc text file is + installed in a standard location that contains the compilation + flags needed for that library along with version number + information.) The version of pkg-config + needed to build GLib is mirrored in the + dependencies directory + on the GTK+ FTP + site. + + + + + The GTK+ makefiles will mostly work with different versions + of make, however, there tends to be + a few incompatibilities, so the GTK+ team recommends + installing GNU + make if you don't already have it on your system + and using it. (It may be called gmake + rather than make.) + + + + + GLib depends on a number of other libraries. + + + + + The GNU + libiconv library is needed to build GLib if your + system doesn't have the iconv() + function for doing conversion between character + encodings. Most modern systems should have + iconv(), however many older systems lack + an iconv() implementation. On such systems, + you must install the libiconv library. This can be found at: + http://www.gnu.org/software/libiconv. + + + If your system has an iconv() implementation but + you want to use libiconv instead, you can pass the + --with-libiconv option to configure. This forces + libiconv to be used. + + + Note that if you have libiconv installed in your default include + search path (for instance, in /usr/local/), but + don't enable it, you will get an error while compiling GLib because + the iconv.h that libiconv installs hides the + system iconv. + + + If you are using the native iconv implementation on Solaris + instead of libiconv, you'll need to make sure that you have + the converters between locale encodings and UTF-8 installed. + At a minimum you'll need the SUNWuiu8 package. You probably + should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and + SUNWkiu8 packages. + + + The native iconv on Compaq Tru64 doesn't contain support for + UTF-8, so you'll need to use GNU libiconv instead. (When + using GNU libiconv for GLib, you'll need to use GNU libiconv + for GNU gettext as well.) This probably applies to related + operating systems as well. + + + + + The libintl library from the GNU gettext + package is needed if your system doesn't have the + gettext() functionality for handling + message translation databases. + + + + + A thread implementation is needed, unless you want to compile GLib + without thread support, which is not recommended. The thread support + in GLib can be based upon several native thread implementations, + e.g. POSIX threads, DCE threads or Solaris threads. + + + + Extra Configuration Options In addition to the normal options, the - configure script in the GTK+ + configure script in the GLib library supports these additional arguments: @@ -70,8 +178,8 @@ How to compile GLib itself --with-threads=[none|posix|dce|solaris|win32] - --disable-included-printf - --enable-included-printf + --disable-included-printf + --enable-included-printf --disable-gtk-doc @@ -93,7 +201,7 @@ How to compile GLib itself even mostly bug-free software by changing the effect of many bugs from simple warnings into fatal crashes. Thus should not - be used for stable releases of gtk+. + be used for stable releases of GLib. @@ -127,7 +235,8 @@ How to compile GLib itself GList, GSList, - GNode allocations + GNode, GHash + allocations @@ -178,7 +287,7 @@ How to compile GLib itself 'posix' and 'dce' can be used interchangeable - to mean the different versions of posix + to mean the different versions of Posix threads. configure tries to find out, which one is installed. @@ -191,7 +300,7 @@ How to compile GLib itself 'none' means that GLib will be thread safe, but does not have a default thread implementation. This has to be supplied to - g_thread_init() by the programmer. + g_thread_init() by the programmer. @@ -199,8 +308,8 @@ How to compile GLib itself - <systemitem>--disable-included-printf</systemitem> and - <systemitem>--enable-included-printf</systemitem> + <systemitem>--disable-included-printf</systemitem> and + <systemitem>--enable-included-printf</systemitem> By default the configure script will try diff --git a/docs/reference/glib/glib-docs.sgml b/docs/reference/glib/glib-docs.sgml index 0d228e9..130e492 100644 --- a/docs/reference/glib/glib-docs.sgml +++ b/docs/reference/glib/glib-docs.sgml @@ -78,32 +78,6 @@ loop abstraction, and so on. It works on many UNIX-like platforms, Windows, OS/2 and BeOS. GLib is released under the GNU Library General Public License (GNU LGPL). - -GLib depends on the following: - - - -iconv() - -In order to implement conversions between character sets, -GLib requires an implementation of the standard iconv() -routine. Most modern systems will have a suitable implementation, however -many older systems lack an iconv() implementation. On -such systems, you must install the -libiconv library. - - - - -a thread implementation - -The thread support in GLib can be based upon several native thread -implementations, e.g. POSIX threads, DCE threads or Solaris threads. - - - - - &glib-Building; &glib-Cross; -- 2.7.4