# change to allow cross compile ARM and MIPS‏

1 messages from 2015-12-04 to 2015-12-04. Participants: Ronny Borchert.
Thread: https://gitlist.dev/t/40936

## Ronny Borchert, 2015-12-04 22:47

Subject: change to allow cross compile ARM and MIPS‏
Message-ID: <loom.20151204T234603-742@post.gmane.org>
URL: https://gitlist.dev/e/loom.20151204T234603-742%40post.gmane.org

```
I have add an description into INSTALL, that other user have direct an
indicator.

diff --git a/INSTALL b/INSTALL
index ffb071e..5918182 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2,13 +2,13 @@
         Git installation
 
 Normally you can just do "make" followed by "make install", and that
-will install the git programs in your own ~/bin/ directory.  If you want
+will install the git programs in your own ~/bin/ directory. If you want
 to do a global install, you can do
 
     $ make prefix=/usr all doc info ;# as yourself
     # make prefix=/usr install install-doc install-html install-info ;# as root
 
-(or prefix=/usr/local, of course).  Just like any program suite
+(or prefix=/usr/local, of course). Just like any program suite
 that uses $prefix, the built results have some paths encoded,
 which are derived from $prefix, so "make all; make prefix=/usr
 install" would not work.
@@ -25,6 +25,31 @@ set up install paths (via config.mak.autogen), so you can
write instead
     $ make all doc ;# as yourself
     # make install install-doc install-html;# as root
 
+If you want to create a cross build of git, i.e. ARM or MIPS, you
+need to add addtional arguments to configure,
+i.e. for MIPS little endian
+
+        $ ./configure --build=x86_64-linux \
+                      --host=mipsel-oe-linux \
+                      --cache-file=config.cache
+
+i.e. for ARM
+
+        $ ./configure --build=x86_64-linux \
+                      --host=arm-eabi \
+                      --cache-file=config.cache
+
+To make this now work you need to create a config.cache file next to
+the configure. In this file you have to configure architecture
+specific behavior, example content could be
+
+ac_cv_snprintf_returns_bogus=${ac_cv_snprintf_returns_bogus=no}
+ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=no}
+
+For details about the meaning refer to the source code of the tests
+in the configure.ac by search of the ac_cv_...
+Important is that you assign 'no' or 'yes'.
+

```
