Vladimir Serbinenko
ebe316e4df
Discover which option provides soft-float on configure stage.
...
Deals with clang needing other arguments to stop issuing floating
instructions than gcc.
2015-02-22 00:35:11 +01:00
Vladimir Serbinenko
f16b8c0405
Relax requirements on asm for non-BIOS i386 platforms.
...
These platforms don't have a hard limit on size of resulting code16
code, so we don't care if assembly is bigger than necessarry.
2015-02-21 20:18:18 +01:00
Vladimir Serbinenko
6505b241fd
Remove obsolete ADDR32 and DATA32 checks.
2015-02-21 17:44:41 +01:00
Vladimir Serbinenko
065ad910f1
Test which flags make our asm compile.
...
Previously we relied on assumption that clang always needs -no-integrated-as
but it's not always true.
2015-02-21 16:29:28 +01:00
Vladimir Serbinenko
ef7c843b44
configure: Add -msoft-float to CCASFLAGS
...
Otherwise mismatch between API flags triggers linker failure
2015-02-21 16:13:11 +01:00
Vladimir Serbinenko
b46bf3cd1c
configure: Move adding of include options to the very end to avoid subshell.
2015-02-20 21:30:34 +01:00
Vladimir Serbinenko
86f05f1491
configure: Add missing comma.
2015-02-20 21:29:35 +01:00
Leif Lindholm
2da4171eab
configure.ac: don't use -msoft-float for arm64
...
aarch64 toolchains do not support the -msoft-float option added by
commit 3661261f
. Insted, for arm64 use -march=armv8-a+nofp+nosimd.
Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
2015-01-28 20:44:41 +00:00
Vladimir Serbinenko
fc7a64bc5a
configure.ac: Always add -D_FILE_OFFSET_BITS=64.
2015-01-26 09:35:44 +01:00
Vladimir Serbinenko
3661261fe1
Always add -msoft-float to avoid compiler generating float arithmetics.
2015-01-24 20:37:08 +01:00
Felix Janda
3bac4caa2b
Remove direct _llseek code and require long filesystem libc.
2015-01-22 19:54:36 +01:00
Colin Watson
77063f4cb6
Fix in-tree --platform=none
...
* configure.ac: Only remove include/grub/cpu and
include/grub/machine in the --platform=none case, not all of
include/grub.
2014-09-25 20:59:26 +01:00
Colin Watson
5d90f6e533
Add a new "none" platform that only builds utilities
...
This makes it possible to build generally-useful utilities such as
grub-mount even if the rest of GRUB has not been ported to the target
CPU.
* configure.ac: Add "none" platform. Default to it for unsupported
CPUs rather than stopping with a fatal error. Don't downgrade
x86_64-none to i386. Define COND_real_platform Automake conditional
if the platform is anything other than "none". Don't do any include
directory linking for "none".
* Makefile.am: Skip building grub-core and all bootcheck targets if
!COND_real_platform.
* include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
is defined.
2014-09-23 12:06:30 +01:00
Colin Watson
2a5a532c00
Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
...
* configure.ac: Remove -m64 from checks for -mcmodel=large and
-mno-red-zone. These are always either unnecessary (x86_64-emu) or
already in TARGET_CFLAGS at this point, and they produce incorrect
results when building for x32.
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
* include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
2014-09-07 23:04:50 +01:00
Colin Watson
4d94b2db58
* configure.ac: Remove several unnecessary semicolons.
2014-09-07 20:47:43 +01:00
Andrey Borzenkov
443b322262
Show detected path to DejaVuSans in configure summary
2014-01-21 19:41:11 +04:00
Andrey Borzenkov
36387ece6b
look for DejaVu also in /usr/share/fonts/truetype
...
It is installed in this path on openSUSE.
2014-01-21 19:29:33 +04:00
Andrey Borzenkov
1ecf96fcc4
add BUILD_EXEEXT support to fix make clean on Windows
...
Add $(BUILD_EXEEXT) to ensure files are removed. Also add CLEANFILES where
appropriate.
2014-01-18 20:41:24 +04:00
Andrey Borzenkov
dcecae1a49
reintroduce BUILD_LDFLAGS for the cross-compile case
...
This allows providing separate LDFLAGS for build and host environments, which
are not necessary the same for cross-compile case. In particular, it allows
building host programs statically to not depend on presence of libraries at
run-time (e.g. MinGW DLLs on Windows) while continue to use default dynamic
linking at build time.
Also fix obsolete comments in confgure.ac - we do use different environment
for build and host now.
2014-01-18 19:50:54 +04:00
Vladimir Serbinenko
e8f07821cc
* configure.ac: Set version to 2.02~beta2.
2013-12-24 21:53:23 +01:00
Vladimir Serbinenko
faf4a65e1e
Revert grub-file usage in grub-mkconfig.
2013-12-24 17:47:27 +01:00
Vladimir Serbinenko
57bc5d431b
Add -Qn to TARGET_CFLAGS if it's supported.
...
Fixes compilation on cygwin.
Reported by: Andrey Borzenkov.
Suggested by: Andrey Borzenkov.
2013-12-24 15:00:46 +01:00
Vladimir Serbinenko
6a7957f9f5
Save TARGET_CC version in modinfo.sh.
...
Suggested by: Andrey Borzenkov.
2013-12-24 14:47:44 +01:00
Vladimir Serbinenko
72f099578e
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-23 18:17:29 +01:00
Vladimir Serbinenko
0c930a841e
Remove leftover options defines.
2013-12-23 18:17:02 +01:00
Colin Watson
16f7455b04
* configure.ac: Fix spelling.
...
* grub-core/commands/parttool.c: Fix grammar.
* grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
Embedding Partition".
2013-12-23 13:32:35 +00:00
Vladimir Serbinenko
bf082198e2
* configure.ac: Choose link format based on host_os on emu.
2013-12-21 20:19:34 +01:00
Vladimir Serbinenko
ae558c2ccf
Enable -Wformat=2 if it's supported.
2013-12-21 15:28:28 +01:00
Vladimir Serbinenko
bbac6789aa
* configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
...
-Wmissing-declarations if supported.
2013-12-21 14:47:55 +01:00
Vladimir Serbinenko
93bf55e616
* configure.ac: Remove duplicate warning arguments.
2013-12-21 13:53:42 +01:00
Colin Watson
d642d76197
Be more verbose about some configure failures.
2013-12-20 16:09:43 +00:00
Vladimir Serbinenko
2fa5a58ca3
* configure.ac: Set version to 2.02~beta1.
2013-12-19 01:54:43 +01:00
Vladimir Serbinenko
72c9a50773
Remove xen VFB.
...
Due to XEN bug it prevents Linux boot. Remove it at least, until
workaround is found.
2013-12-18 18:43:09 +01:00
Vladimir Serbinenko
a29f317af1
Allow compilation without thumb-interwork as long as no thumb is
...
involved or only thumb2 is used.
2013-12-18 13:33:39 +01:00
Vladimir Serbinenko
c2be6f7ef8
Remove -Wold-style-definition.
...
Not very useful and interaction of it with regexp depends on GCC
version.
2013-12-18 07:48:09 +01:00
Vladimir Serbinenko
ec824e0f2a
Implement grub_file tool and use it to implement generating of config
...
in separate root.
2013-12-17 14:39:48 +01:00
Vladimir Serbinenko
71669c3b76
Implement XEN VFB support.
2013-12-17 13:07:26 +01:00
Vladimir Serbinenko
6f1f6a0c82
Add support for converting PE+ to Elf64.
2013-12-16 15:30:50 +01:00
Vladimir Serbinenko
252a289cb3
Determine the need for mingw-related stubs at compile time rather than
...
using not very significant $target_os.
2013-12-16 14:18:15 +01:00
Vladimir Serbinenko
37378f748a
Define functions explicitly rather than using --defsym in tests
...
whenever possible. Respect locality in remaining cases.
2013-12-16 13:07:28 +01:00
Vladimir Serbinenko
60b967be7e
Make i386-* other than i386-pc compileable under cygwin.
2013-12-14 23:12:53 +01:00
Vladimir Serbinenko
eaf01c25fe
Add missing compile and link options for sparc64-emu.
2013-12-10 00:05:28 +01:00
Vladimir Serbinenko
b75db69ac1
* configure.ac: Check for freetype library usability.
2013-12-08 10:50:59 +01:00
Vladimir Serbinenko
5ff249072d
* configure.ac: Make unifont mandatory on coreboot.
2013-12-07 11:47:19 +01:00
Vladimir Serbinenko
0277eab701
* configure.ac: Skip unifont 6.3 pcf and bdf.
2013-12-07 11:46:46 +01:00
Vladimir Serbinenko
4182262560
Don't add -mlong-calls when compiling with clang.
2013-12-06 11:58:17 +01:00
Vladimir Serbinenko
896f483d49
* configure.ac: Fix a typo.
2013-12-06 10:02:24 +01:00
Vladimir Serbinenko
382b500ebe
* configure.ac: Move all warning options that may be absent in
...
gcc >= 3.1 to optional.
Note: while this allows to compile with older GCC, official requirements
remain the same and no support for older GCC.
2013-12-04 14:53:25 +01:00
Vladimir Serbinenko
bdb6090d83
* configure.ac: Allow compilation with older GCC for ARM.
2013-12-04 12:42:09 +01:00
Vladimir Serbinenko
b73b70ebca
* configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
...
* INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
ppc.
2013-12-04 12:20:56 +01:00
Vladimir Serbinenko
6f07c4e407
Pass font config to config.h and not by TARGET_CFLAGS as adding
...
arguments doesn't work if TARGET_CFLAGS is specified on command
line.
2013-12-04 10:25:53 +01:00
Vladimir Serbinenko
60d5e9cbd9
* configure.ac: Add -Wvla if compiler supports it.
2013-12-04 10:08:57 +01:00
Leif Lindholm
b29b77fee2
New port arm64-efi
2013-11-30 16:50:31 +01:00
Vladimir Serbinenko
d74b9a1d1a
Ensure that -mno-unaligned-access or some equivalent option is used.
2013-11-30 11:31:14 +01:00
Andrey Borzenkov
c2b70d0981
Explicitly check for linking format to use for efiemu64 module
...
Similar to check for target linking format, also check for efiemu64
instead of hardcoding -melf_x86_64. This fixes compilation on *BSD
variants. We cannot easily reuse main target check because platforms
are different (main target is 32 bit and efiemu64 - 64 bit).
This commit adds EFIEMU64_LINK_FORMAT that contains detected
link option and is used in efiemu64.o linking instead of hardcoded
value.
Reported-By: Beeblebrox <zaphod@berentweb.com>
2013-11-25 22:32:55 +04:00
Vladimir Serbinenko
d6c92cdc34
Merge branch 'master' into leiflindholm/arm64
...
Conflicts:
include/grub/util/install.h
2013-11-25 13:02:27 +01:00
Vladimir Serbinenko
246a434f61
* configure.ac: Add -static to LDFLAGS when using apple linker to
...
prevent it from pulling in dynamic linker.
2013-11-25 05:47:20 +01:00
Vladimir Serbinenko
f93ddcfd1c
Don't add -mflush-func if it's not supported by compiler.
2013-11-23 12:40:44 +01:00
Vladimir Serbinenko
a3ba74104e
* configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
...
3 last commits.
2013-11-22 13:07:51 +01:00
Vladimir Serbinenko
9cf12b20af
* configure.ac: Compile with -fPIC when compiling with clang on
...
mips.
2013-11-22 12:50:41 +01:00
Vladimir Serbinenko
63a45330cb
* configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
...
when compiling with clang.
2013-11-22 12:48:32 +01:00
Leif Lindholm
15a463d742
ARM 64 port by Leif Lindholm
2013-11-16 20:52:55 +01:00
Vladimir Serbinenko
cd46aa6cef
Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
...
the function of these files exceeds what can be sanely handled in shell
in posix-comaptible way. Also writing it in C extends the functionality
to non-UNIX-like OS and minimal environments.
2013-11-16 20:21:16 +01:00
Andrey Borzenkov
31c0cd4362
restore -nostdlib for libgcc symbols tests
...
Commit 24f4e57c46
plugged leakage
of CFLAGS between individual tests, which broke test for libgcc
symbols. It needs -nostdlib which was set in previous test and
inherited before. Set it explicitly.
2013-11-16 17:03:20 +04:00
Vladimir Serbinenko
6fcec43954
Replace libgcc version of ctz with our own.
...
On upcoming arm64 port libgcc ctz* are not usable in standalone
environment. Since we need ctz* for this case and implementation is
in C we may as well use it on all concerned platforms.
2013-11-15 03:28:34 +01:00
Vladimir Serbinenko
a9f25a0819
* configure.ac: Probe for linking format rather than guessing it based
...
on target_os.
2013-11-14 23:17:18 +01:00
Vladimir Serbinenko
20aea9492f
* configure.ac: Move nm checks to the end.
...
Call grub_PROG_NM_WORKS.
* acinclude.m4: New check grub_PROG_NM_WORKS.
Use $TARGET_CFLAGS -c when compiling test binary.
2013-11-14 17:39:01 +01:00
Vladimir Serbinenko
2312f06c30
* configure.ac: Use -no-integrated-as on arm with clang.
...
* INSTALL: Mention ARM compilation with clang.
2013-11-14 08:36:35 +01:00
Colin Watson
6fe506b04b
* configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
...
to match INSTALL.
2013-11-13 14:57:12 +00:00
Colin Watson
11da14b548
* acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
...
functions, we only need to check this for the target, not the host.
* configure.ac (grub_apple_cc): Likewise.
2013-11-13 12:01:39 +00:00
Vladimir Serbinenko
16057d6bbb
Redirect all divisions to grub_divmod64.
2013-11-13 00:53:53 +01:00
Vladimir Serbinenko
300f48c532
* configure.ac: Allow disabling themes.
2013-11-12 22:44:01 +01:00
Vladimir Serbinenko
0d2d30bb39
* configure.ac: Check for lzma.h for enabling liblzma and allow
...
manual disabling.
2013-11-11 22:47:48 +01:00
Vladimir Serbinenko
3c2304d55f
* configure.ac: Make efiemu test cflags match the cflags efiemu is
...
compiled with.
2013-11-10 14:46:13 +01:00
Vladimir Serbinenko
c61471fc8b
* configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2013-11-10 13:24:06 +01:00
Vladimir Serbinenko
28668d808e
* configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
...
Add -march=core2 when testing compile of efiemu64.
Thanks Andrey Borzenkov for spotting this.
2013-11-10 13:10:45 +01:00
Vladimir Serbinenko
9612ebc00e
Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
...
XEN PV environment and load kernels.
2013-11-09 21:29:11 +01:00
Vladimir Serbinenko
dd7f792c85
* configure.ac: Use elf_*_fbsd on kfreebsd.
2013-11-08 15:10:13 +01:00
Vladimir Serbinenko
d59849b2e7
* grub-core/Makefile.am: Do not include libgcc.h when compiling with
...
clang.
2013-11-07 19:33:54 +01:00
Vladimir Serbinenko
d5524ca87b
* configure.ac: Run linker tests without -Werror.
...
Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
Change all occurences of -static-libgcc resp -lgcc to
TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2013-11-07 18:21:22 +01:00
Vladimir Serbinenko
390cd7ca90
* configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2013-11-07 18:18:43 +01:00
Vladimir Serbinenko
60375a88fe
Allow compiling with clang (not really supported though).
...
* conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
unconditionally.
* configure.ac: Add -no-integrated-as when using clangfor asm files.
Add -mrtd -mregparm=3 on i386 when not using clang.
* grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2013-11-07 11:44:40 +01:00
Vladimir Serbinenko
c12936c5d1
* configure.ac: Don't add -Wcast-align on x86.
2013-11-07 03:35:25 +01:00
Vladimir Serbinenko
cdc17f60dc
* configure.ac: Add -freg-struct-return on all platforms that
...
support it.
2013-11-07 03:33:20 +01:00
Vladimir Serbinenko
b35ec29927
* acinclude.m4: Use -Werror on parameter tests.
...
* configure.ac: Likewise.
2013-11-07 03:31:24 +01:00
Vladimir Serbinenko
c966a489cf
* configure.ac: Check that -malign-loops works rather than assuming that
...
either -falign-loops or -malign-loops work.
2013-11-07 03:25:30 +01:00
Vladimir Serbinenko
bb0c57ecd2
* configure.ac: Remove -fnested-functions. We don't need it anymore.
2013-11-07 03:19:55 +01:00
Vladimir Serbinenko
24f4e57c46
* configure.ac: Prevent cflags leaking to subsequent tests by always
...
resetting cflags to target_cflags in target tests.
2013-11-07 03:17:37 +01:00
Andrey Borzenkov
e7d09ac4f7
enable emuusb and emupci on emu platform only
...
Also explicitly disable them in configure unless built for emu platform.
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-11-04 16:53:39 +04:00
Mike Frysinger
ee7fb780c8
* configure.ac: Don't add target-prefix.
2013-11-03 12:48:13 +01:00
Vladimir Serbinenko
48145ea358
Fix last commit
2013-11-03 00:25:04 +01:00
Vladimir Serbinenko
dd614590c9
* configure.ac: Don't add -m32/-m64 on emu.
2013-11-02 22:46:01 +01:00
Vladimir Serbinenko
5cf9459c08
* configure.ac: Use 0x8000 for address instead of 8000.
2013-11-02 19:13:41 +01:00
Vladimir Serbinenko
02663ee9d9
* configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2013-11-02 16:40:25 +01:00
Vladimir Serbinenko
3bc9c8cfc8
* configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
...
COND_GRUB_PE2ELF conditions.
2013-10-27 19:44:19 +01:00
Vladimir 'phcoder' Serbinenko
29013cba15
Don't add -lm on haiku.
...
* configure.ac: Define BUILD_LIBM to -lm on most platforms
and empty on haiku.
* grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
-lm.
2013-10-19 02:20:21 +02:00
Vladimir 'phcoder' Serbinenko
e8559d2434
* configure.ac: Use -melf_*_haiku as target on haiku.
2013-10-19 02:15:35 +02:00
Vladimir 'phcoder' Serbinenko
27f9d02eb9
* configure.ac: Check for nvlist_lookup_string in nvpair since we
...
use nvlist_lookup_string and don't use nvlist_print.
2013-10-15 15:01:01 +02:00
Ilya Bakulin
6d0740e8ca
* configure.ac: Use -melf_*_obsd on openbsd.
2013-10-12 08:08:11 +02:00
neil
5830df88da
* configure.ac: Do not enable -Wmissing-noreturn as its
...
usefulness is limited and creates problems on some OS notably with
code generated by bison.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2013-09-23 13:48:10 +02:00