X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=INSTALL.in;h=1edc7e9c2308ff8d128207b7a0a9fec220272f2b;hb=2e5bd8cf47f9e1559ccc44823a2f321b8ff8c1ea;hp=58067f7c5642c02fb8e5121a647a3093783d1e57;hpb=eb1df47d71f2366bacfb5a75d037b58ab7df14c8;p=platform%2Fupstream%2Fglib.git diff --git a/INSTALL.in b/INSTALL.in index 58067f7..1edc7e9 100644 --- a/INSTALL.in +++ b/INSTALL.in @@ -1,8 +1,8 @@ Simple install procedure ======================== - % gzip -cd glib-@GLIB_VERSION@.tar.gz | tar xvf - # unpack the sources - % cd glib-@GLIB_VERSION@ # change to the toplevel directory + % tar xf glib-@GLIB_VERSION@.tar.gz # unpack the sources + % cd glib-@GLIB_VERSION@ # change to the toplevel directory % ./configure # run the `configure' script % make # build GLIB @@ -13,84 +13,77 @@ Simple install procedure Requirements ============ +GLib requires a C90-compliant (but not necessarily C99-compliant) C +compiler and libc. On UNIX-like systems, it also assumes compliance +with at least the original 1990 version of POSIX. + +GLib-2.0 requires pkg-config, which is tool for tracking the +compilation flags needed for libraries. (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.) Information about pkg-config can be found at: + + http://www.freedesktop.org/software/pkgconfig/ + +GNU make (http://www.gnu.org/software/make) is also required. + 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, +many older systems lack an iconv() implementation. On such systems, you must install the libiconv library. This can be found at: - http://clisp.cons.org/~haible/packages-libiconv.html + 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. +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. -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: +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. -* --prefix=PREFIX install architecture-independent files in PREFIX - [ Defaults to /usr/local ] +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. -* --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [ Defaults to the value given to --prefix ] +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: -* --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. - [ Disabled by default ] + http://www.gnu.org/software/gettext/ -* --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. - [ Enabled by default ] +Support for extended attributes and SELinux in GIO requires +libattr and libselinux. -* --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 ] +Some of the mimetype-related functionality in GIO requires the +update-mime-database and update-desktop-database utilities, which +are part of shared-mime-info and desktop-file-utils, respectively. -Options can be given to the compiler and linker by setting -environment variables before running configure. A few of the more -important ones: +GObject uses libffi to implement generic marshalling functionality. - CC : The C compiler to use - CPPFLAGS : Flags for the C preprocesser such as -I and -D - CFLAGS : C compiler flags +The Nitty-Gritty +================ -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: +Complete information about installing GLib can be found +in the file: - CFLAGS=-O2 ./configure # Bourne compatible shells (sh/bash/zsh) + docs/reference/glib/html/glib-building.html -or, +Or online at: - setenv CFLAGS -O2 ; ./configure # csh and variants + https://developer.gnome.org/glib/stable/glib-building.html Installation directories @@ -104,14 +97,30 @@ use of these flags is not tested. One particular detail to note, is that the architecture-dependent include file glibconfig.h is installed in: - $exec_pref/lib/glib/include/ + $exec_prefix/lib/glib/include/ if you have a version in $prefix/include, this is out of date and should be deleted. -A shell script glib-config is created during the configure -process, and installed in the bin/ directory -($exec_prefix/bin). This is used to determine the location of glib -when building applications. If you move glib after installation, -it will be necessary to edit this file. +.pc files for the various libraries are installed in +$exec_prefix/lib/pkgconfig to provide information when compiling +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: + + pkg-config --cflags glib-2.0 + pkg-config --libs glib-2.0 + + +Cross-compiling GLib +==================== + +Information about cross-compilation of GLib can be found +in the file: + + docs/reference/glib/html/glib-cross-compiling.html + +Or online at: + https://developer.gnome.org/glib/stable/glib-cross-compiling.html