Merge branch 'xclaesse/glib-meson-cross-doc'

Closes #1363

See merge request GNOME/glib!232
diff --git a/docs/reference/glib/cross.xml b/docs/reference/glib/cross.xml
index 35d169b..c452004 100644
--- a/docs/reference/glib/cross.xml
+++ b/docs/reference/glib/cross.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
                "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
-<refentry id="glib-cross-compiling" revision="8 Apr 2003">
+<refentry id="glib-cross-compiling" revision="7 Aug 2018">
 <refmeta>
 <refentrytitle>Cross-compiling the GLib package</refentrytitle>
 <manvolnum>3</manvolnum>
@@ -28,181 +28,118 @@
       <para>
         These notes cover things specific to cross-compiling GLib;
         for general information about cross-compilation, see the
-        <application>autoconf</application> info pages.
+        <ulink url="http://mesonbuild.com/Cross-compilation.html">meson</ulink>
+        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.
+        to be provided to meson via a ‘cross file’.
       </para>
       <para>
-        As an example of using a cache file, to cross compile for
-        the "MingW32" Win32 runtime environment on a Linux system,
-        create a file 'win32.cache' with the following contents:
+        As an example of using a cross file, to cross compile for
+        the ‘MingW32’ Win64 runtime environment on a Linux system,
+        create a file <filename>cross_file.txt</filename> with the following
+        contents:
       </para>
       <programlisting> 
-glib_cv_long_long_format=I64
-glib_cv_stack_grows=no
+[host_machine]
+system = 'windows'
+cpu_family = 'x86_64'
+cpu = 'x86_64'
+endian = 'little'
+
+[properties]
+c_args = []
+c_link_args = []
+
+[binaries]
+c = 'x86_64-w64-mingw32-gcc'
+cpp = 'x86_64-w64-mingw32-g++'
+ar = 'x86_64-w64-mingw32-ar'
+strip = 'x86_64-w64-mingw32-strip'
+pkgconfig = 'x86_64-w64-mingw32-pkg-config'
+windres = 'x86_64-w64-mingw32-windres'
       </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
+meson --cross_file cross_file.txt builddir
       </programlisting>
       <para>
-        The complete list of cache file variables follows. Most
+        The complete list of cross properties 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>
+    <refsect1 id="cross-properties">
+      <title>Cross properties</title>
       <formalpara>
-        <title>glib_cv_long_long_format=[ll/q/I64]</title>
-        
+        <title>have_[function]</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.
+           When meson checks if a function is supported, the test can be
+           overridden by setting the
+           <literal>have_<replaceable>function</replaceable></literal> property
+           to <constant>true</constant> or <constant>false</constant>.
+           For example <programlisting>Checking for function "alloca" : YES</programlisting>
+           can be overridden by setting <programlisting>have_alloca = false</programlisting>
         </para>
       </formalpara>
       <formalpara>
-        <title>glib_cv_stack_grows=[yes/no]</title>
+        <title>growing_stack=[true/false]</title>
 
         <para>
-           Whether the stack grows up or down. Most places will want "no",
-           A few architectures, such as PA-RISC need "yes".
+           Whether the stack grows up or down. Most places will want
+           <constant>false</constant>.
+           A few architectures, such as PA-RISC need <constant>true</constant>.
         </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/no]</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>
+         <title>have_strlcpy=[true/false]</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.
+            OpenBSD. Defaults to <constant>false</constant>, which is safe,
+            since GLib uses a built-in version in that case.
 	</para>
       </formalpara>
       <formalpara>
-         <title>glib_cv_have_qsort_r=[yes/no]</title>
+         <title>va_val_copy=[true/false]</title>
 
          <para>
-           Whether you have <function>qsort_r()</function> that matches
-           BSD. 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>
+            to <constant>false</constant>, 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 <constant>true</constant> which is slightly more common
+            than <constant>false</constant>.
+        </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>ac_cv_func_posix_getgrgid_r=[yes/no]</title>
- 
-         <para>
-            Whether you have a getgrgid_r function that conforms to
-            the POSIX spec.
-         </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>
+         <title>have_c99_vsnprintf=[true/false]</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".
+            space.) Defaults to <constant>false</constant>.
+         </para>
+      </formalpara>
+      <formalpara>
+         <title>have_c99_snprintf=[true/false]</title>
+
+         <para>
+            Whether you have a <function>snprintf()</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 <constant>false</constant>.
          </para>
       </formalpara>
 
-    </refsect1>    
+    </refsect1>
 
 </refentry>