mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 06:56:14 +01:00
Move cross-compilation info to reference manual.
This commit is contained in:
parent
5b4af3060f
commit
7b0da6c54a
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* INSTALL: Move Cross-compliation information to reference manual.
|
||||||
|
|
||||||
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* glib/gmain.c (g_main_loop_run): When waiting for
|
* glib/gmain.c (g_main_loop_run): When waiting for
|
||||||
|
116
INSTALL
116
INSTALL
@ -179,117 +179,11 @@ application with:
|
|||||||
Cross-compiling GLib
|
Cross-compiling GLib
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Cross-compilation is the proceess of compiling a program or
|
Information about cross-compilation of GLib can be found
|
||||||
library on a different architecture or operating system then
|
in the file:
|
||||||
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;
|
docs/reference/glib/docs/reference/glib/html/glib-cross-compiling.html
|
||||||
for general information about cross-compilation, see the
|
|
||||||
autoconf info pages.
|
|
||||||
|
|
||||||
GLib tries to detect as much information as possible about
|
Or online at:
|
||||||
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
|
http://developer.gnome.org/doc/API/2.0/glib/glib-cross-compiling.html
|
||||||
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".
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2003-04-08 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* glib/cross.sgml: New file; cross-compilation information.
|
||||||
|
* glib/glib-docs.sgml: Include cross.sgml.
|
||||||
|
|
||||||
2003-04-07 Matthias Clasen <maclas@gmx.de>
|
2003-04-07 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* gobject/tmpl/enumerations_flags.sgml: Additions.
|
* gobject/tmpl/enumerations_flags.sgml: Additions.
|
||||||
|
187
docs/reference/glib/cross.sgml
Normal file
187
docs/reference/glib/cross.sgml
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
<refentry id="glib-cross-compiling" revision="8 Apr 2003">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>Cross-compiling the GLib package</refentrytitle>
|
||||||
|
<manvolnum>3</manvolnum>
|
||||||
|
<refmiscinfo>GLib Library</refmiscinfo>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>Cross-compiling the GLib Package</refname>
|
||||||
|
<refpurpose>
|
||||||
|
How to cross-compile GLib
|
||||||
|
</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 id="building">
|
||||||
|
<title>Building the Library for a different architecture</title>
|
||||||
|
<para>
|
||||||
|
Cross-compilation is the process 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.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
These notes cover things specific to cross-compiling GLib;
|
||||||
|
for general information about cross-compilation, see the
|
||||||
|
<application>autoconf</application> info pages.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
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:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
glib_cv_long_long_format=ll
|
||||||
|
glib_cv_stack_grows=no
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Then execute the following commands:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
PATH=/path/to/mingw32-compiler/bin:$PATH
|
||||||
|
chmod a-w win32.cache # prevent configure from changing it
|
||||||
|
./configure --cache-file=win32.cache --host=mingw32
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
The complete list of cache file variables follows. Most
|
||||||
|
of these won't need to be set in most cases.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
<refsect1 id="cache-file-variables">
|
||||||
|
<title>Cache file variables</title>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_long_long_format=[ll/q/I64]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Format used by <function>printf()</function> and
|
||||||
|
<function>scanf()</function> for 64 bit integers. "ll" is
|
||||||
|
the C99 standard, and what is used by the 'trio' library
|
||||||
|
that GLib builds if your <function>printf()</function> is
|
||||||
|
insufficiently capable.
|
||||||
|
Doesn't need to be set if you are compiling using trio.
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_stack_grows=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether the stack grows up or down. Most places will want "no",
|
||||||
|
A few architectures, such as PA-RISC need "yes".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_working_bcopy=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether your <function>bcopy()</function> can handle overlapping
|
||||||
|
copies. Only needs to be set if you don't have
|
||||||
|
<function>memmove()</function>. (Very unlikely)
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_sane_realloc=[yes/np]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether your <function>realloc()</function> conforms to ANSI C
|
||||||
|
and can handle <literal>NULL</literal> as the first argument.
|
||||||
|
Defaults to "yes" and probably doesn't need to be set.
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_have_strlcpy=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether you have <function>strlcpy()</function> that matches
|
||||||
|
OpenBSD. Defaults to "no", which is safe, since GLib uses a
|
||||||
|
built-in version in that case.
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_va_val_copy=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether <type>va_list</type> can be copied as a pointer. If set
|
||||||
|
to "no", then <function>memcopy()</function> will be used. Only
|
||||||
|
matters if you don't have <function>va_copy()</function> or
|
||||||
|
<function>__va_copy()</function>. (So, doesn't matter for GCC.)
|
||||||
|
Defaults to "yes" which is slightly more common than "no".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_rtldglobal_broken=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether you have a bug found in OSF/1 v5.0. Defaults to "no".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_uscore=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether an underscore needs to be prepended to symbols when
|
||||||
|
looking them up via <function>dlsym()</function>. Only needs to
|
||||||
|
be set if your system uses
|
||||||
|
<function>dlopen()</function>/<function>dlsym()</function>.
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>ac_cv_func_posix_getpwuid_r=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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)
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>ac_cv_func_nonposix_getpwuid_r=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether you have some variant of <function>getpwuid_r()</function>
|
||||||
|
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
|
||||||
|
<literal>ac_cv_func_posix_getpwuid_r</literal> is not set. It's
|
||||||
|
safest to set this to "no".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>glib_cv_use_pid_surrogate=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether to use a <function>setpriority()</function> 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.
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>ac_cv_func_printf_unix98=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether your <function>printf()</function> family supports Unix98
|
||||||
|
style <literal>%N$</literal> positional parameters. Defaults to
|
||||||
|
"no".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
<formalpara>
|
||||||
|
<title>ac_cv_func_vsnprintf_c99=[yes/no]</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whether you have a <function>vsnprintf()</function> with C99
|
||||||
|
semantics. (C99 semantics means returning the number of bytes
|
||||||
|
that would have been written had the output buffer had enough
|
||||||
|
space.) Defaults to "no".
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
</refentry>
|
@ -56,6 +56,7 @@
|
|||||||
|
|
||||||
<!ENTITY glib-Compiling SYSTEM "compiling.sgml">
|
<!ENTITY glib-Compiling SYSTEM "compiling.sgml">
|
||||||
<!ENTITY glib-Building SYSTEM "building.sgml">
|
<!ENTITY glib-Building SYSTEM "building.sgml">
|
||||||
|
<!ENTITY glib-Cross SYSTEM "cross.sgml">
|
||||||
<!ENTITY glib-Running SYSTEM "running.sgml">
|
<!ENTITY glib-Running SYSTEM "running.sgml">
|
||||||
<!ENTITY glib-Resources SYSTEM "resources.sgml">
|
<!ENTITY glib-Resources SYSTEM "resources.sgml">
|
||||||
<!ENTITY glib-Changes SYSTEM "changes.sgml">
|
<!ENTITY glib-Changes SYSTEM "changes.sgml">
|
||||||
@ -105,6 +106,7 @@ implementations, e.g. POSIX threads, DCE threads or Solaris threads.
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
&glib-Building;
|
&glib-Building;
|
||||||
|
&glib-Cross;
|
||||||
&glib-Compiling;
|
&glib-Compiling;
|
||||||
&glib-Running;
|
&glib-Running;
|
||||||
&glib-Changes;
|
&glib-Changes;
|
||||||
|
Loading…
Reference in New Issue
Block a user