ieee1275: split up grub_machine_get_bootlocation
[grub.git] / autogen.sh
1 #! /usr/bin/env bash
2
3 set -e
4
5 # Set ${PYTHON} to plain 'python' if not set already
6 : ${PYTHON:=python}
7
8 export LC_COLLATE=C
9 unset LC_ALL
10
11 find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
12 find util -iname '*.in' ! -name Makefile.in  |sort > po/POTFILES-shell.in
13
14 echo "Importing unicode..."
15 ${PYTHON} util/import_unicode.py unicode/UnicodeData.txt unicode/BidiMirroring.txt unicode/ArabicShaping.txt grub-core/unidata.c
16
17 echo "Importing libgcrypt..."
18 ${PYTHON} util/import_gcry.py grub-core/lib/libgcrypt/ grub-core
19 sed -n -f util/import_gcrypth.sed < grub-core/lib/libgcrypt/src/gcrypt.h.in > include/grub/gcrypt/gcrypt.h
20 if [ -f include/grub/gcrypt/g10lib.h ]; then
21     rm include/grub/gcrypt/g10lib.h
22 fi
23 if [ -d grub-core/lib/libgcrypt-grub/mpi/generic ]; then 
24     rm -rf grub-core/lib/libgcrypt-grub/mpi/generic
25 fi
26 cp grub-core/lib/libgcrypt-grub/src/g10lib.h include/grub/gcrypt/g10lib.h
27 cp -R grub-core/lib/libgcrypt/mpi/generic grub-core/lib/libgcrypt-grub/mpi/generic
28
29 for x in mpi-asm-defs.h mpih-add1.c mpih-sub1.c mpih-mul1.c mpih-mul2.c mpih-mul3.c mpih-lshift.c mpih-rshift.c; do
30     if [ -h grub-core/lib/libgcrypt-grub/mpi/"$x" ] || [ -f grub-core/lib/libgcrypt-grub/mpi/"$x" ]; then
31         rm grub-core/lib/libgcrypt-grub/mpi/"$x"
32     fi
33     cp grub-core/lib/libgcrypt-grub/mpi/generic/"$x" grub-core/lib/libgcrypt-grub/mpi/"$x"
34 done
35
36 echo "Generating Automake input..."
37
38 # Automake doesn't like including files from a path outside the project.
39 rm -f contrib grub-core/contrib
40 if [ "x${GRUB_CONTRIB}" != x ]; then
41   [ "${GRUB_CONTRIB}" = contrib ] || ln -s "${GRUB_CONTRIB}" contrib
42   [ "${GRUB_CONTRIB}" = grub-core/contrib ] || ln -s ../contrib grub-core/contrib
43 fi
44
45 UTIL_DEFS='Makefile.util.def Makefile.utilgcry.def'
46 CORE_DEFS='grub-core/Makefile.core.def grub-core/Makefile.gcry.def'
47
48 for extra in contrib/*/Makefile.util.def; do
49   if test -e "$extra"; then
50     UTIL_DEFS="$UTIL_DEFS $extra"
51   fi
52 done
53
54 for extra in contrib/*/Makefile.core.def; do
55   if test -e "$extra"; then
56     CORE_DEFS="$CORE_DEFS $extra"
57   fi
58 done
59
60 ${PYTHON} gentpl.py $UTIL_DEFS > Makefile.util.am
61 ${PYTHON} gentpl.py $CORE_DEFS > grub-core/Makefile.core.am
62
63 for extra in contrib/*/Makefile.common; do
64   if test -e "$extra"; then
65     echo "include $extra" >> Makefile.util.am
66     echo "include $extra" >> grub-core/Makefile.core.am
67   fi
68 done
69
70 for extra in contrib/*/Makefile.util.common; do
71   if test -e "$extra"; then
72     echo "include $extra" >> Makefile.util.am
73   fi
74 done
75
76 for extra in contrib/*/Makefile.core.common; do
77   if test -e "$extra"; then
78     echo "include $extra" >> grub-core/Makefile.core.am
79   fi
80 done
81
82 echo "Saving timestamps..."
83 echo timestamp > stamp-h.in
84
85 echo "Running autoreconf..."
86 autoreconf -vi
87 exit 0