Commit Graph

86 Commits

Author SHA1 Message Date
Jérôme Duval
b3e749b0c1 kernel,libroot,boot: remove c++11 and gnu++11 flags.
* c++14 is the default with current GCC
* remove pragmas for x86intrin.h
2018-05-28 18:54:22 +02:00
waddlesplash
71819cc094 ArchitectureRules: Disable the 'fork' builtin on GCC4+.
On GCC 7.3, it conflicts with our definition of 'fork'. The documentation
states that disabling builtins has no effect on versions where they
do not exist, so we don't need to check for GCC7 here.
2018-05-19 20:33:10 -04:00
Jessica Hamilton
74bfec3b96 build/jam: whitespace cleanup.
Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3
2018-05-07 13:12:16 +12:00
Jérôme Duval
891a743ac3 x86_64: add kernel define and macro for x86 compatibility.
thus the kernel can be built with 32-bit compatibility support.

Change-Id: I5699bcb04908d5abb01da3166c3c180582b9026f
2018-05-05 09:31:40 +00:00
Jérôme Duval
272a3e2ced Build: in ArchitectureSetup, use the cpu variable instead..
of the HAIKU_ARCH variable, which is the primary architecture cpu.
2018-01-31 18:32:35 +01:00
Kacper Kasper
9a3c78bc4d Enable Werror for EXRTranslator. 2017-12-17 17:57:54 +01:00
Augustin Cavalier
6570684235 configure: Further fixes to Clang support.
* Actually locate the clang executable, and allow user overrides
 * Properly preserve arguments in get_build_tool_path
 * Fix get_build_tool_path for commands with dashes (e.g. "clang-5.0")
2017-12-01 14:23:57 -05:00
Augustin Cavalier
5f8613a22c build: Cleanup and fixes following previous commits.
* Hashing semantics for the new build repositories are different than
   the old ones, so update those (if the x86 build was not broken before
   it is now...)
 * OptionalPackages has been updated slightly (removed libtool and git_cvs
   from the default images, as they are rarely used nowadays and would pull
   in a bunch of dependencies we don't really care for either)
 * Removed lib:libqrencode from Haiku package requires (qrencode_kdl is a
   static library, the userland libqrencode is not used anywhere in the tree,
   as far as I can tell)
 * Fix build of JPEG2000 translator after update
 * Decouple fluidsynth build machinery and remove from image now that it
   is no longer used
 * Update repository URL in Repositories preflet
2017-11-25 21:15:10 +01:00
Augustin Cavalier
dd4eae252e ac3_decoder: Remove from tree.
Not included in the build (locked behind a SubIncludeGPL);
now lives at HaikuArchives.
2017-07-30 14:06:05 -04:00
Augustin Cavalier
283b84cd62 xvid_decoder: Delete from tree.
Not included in the build (locked behind a SubIncludeGPL & commented out);
now lives at HaikuArchives.
2017-07-30 14:01:05 -04:00
Murai Takashi
16c53b7527 kernel: disable an optimization on GCC6...
as a workaround for crashs.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-07-12 17:40:38 +02:00
Alexander von Gluck IV
f5d7446b5b u-boot: Correct loader base naming 2017-07-10 13:34:29 -05:00
Alexander von Gluck IV
1b3c81feeb u-boot: Fix mmc build without target boards 2017-07-10 09:02:56 -05:00
Alexander von Gluck IV
1e82d7bd25 kernel/arm: Work out more board_config's via fdt 2017-07-10 08:19:44 -05:00
Alexander von Gluck IV
e40cea64bd u-boot/arm: Initial steps to drop target board requirements 2017-07-09 22:51:50 -05:00
Alexander von Gluck IV
855fc5a0d3 platform/u-boot: Build all fdt's and include in u-boot mmc
* Eventually BoardSetups and target boards will go away.
* Include all known fdt's in the mmc image
* This gets us closer to target board-less arm
* Changing hardware is as simple as plugging a new fdt
  into u-boot's startup script.
* Drop my original rpi1 work.  We're targetting ARMv7
  minimum.
2017-07-09 22:19:51 -05:00
Fredrik Holmqvist
9b264ecce1 Second try att enabling Werror for ACPI 2017-02-21 19:28:33 +01:00
Fredrik Holmqvist
95c239a3fb Revert "Treat warnings as error for ACPI."
Better do a recheck on 32 bit first, my old checks from a few
months ago doesn't seem valid anymore.

This reverts commit 7212666f4a.
2017-02-20 16:44:27 +01:00
Fredrik Holmqvist
7212666f4a Treat warnings as error for ACPI. 2017-02-20 15:25:53 +01:00
Jessica Hamilton
f4ff9cb02c Merge branch 'uefi-support' 2016-11-14 03:21:59 +13:00
Alexander von Gluck IV
b2bdabc797 arm: Add beaglebone target, rename beagle
* beaglebone vs beagleboard
* While the boards are almost the same, they have
  diff. FDT's now (more memory, different layout etc)
* Make u-boot script more rpi-like
  (depend on u-boot for initial addresses)
* Wasn't working, still doesn't.
2016-10-20 11:05:46 -05:00
S K
fe2557b6eb PS/2: fix warnings, enable -Werror
- elantech: Remove unused variables and functions.
- "movement maker": float/int confusions
- debugger keymap: don't use multi-byte chars in preprocessor to avoid
  warnings with gcc2 (even with -Wno-multichar)

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12658
2016-10-09 21:11:55 +02:00
Jessica Hamilton
e2e1558a02 EFI: stub functions so we can call loader's main() function. 2016-09-02 19:02:33 +12:00
Fredrik Holmqvist
bd0604764e Setup -fno-pic or -fpic in Architecture Rules.
EFI boot needs -fpic but all boot code was built with -fno-pic.
This is now set accordingly in HAIKU_BOOT_CCFLAGS and
HAIKU_BOOT_C++FLAGS.

Also setup compile flags for EFI platform.
2016-09-02 19:02:32 +12:00
Fredrik Holmqvist
211483cb51 EFI: Initial test EFI application
* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
  into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
  to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
  modified to include support for C++ constructors, etc. Keep in
  sync with the gnuefi package

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-09-02 19:02:29 +12:00
Adrien Destugues
8a3177ff3f intel_extreme: enable Werror and fix warnings. 2016-08-27 09:03:56 +02:00
Adrien Destugues
ac30c58648 Enable Werror for jpeg, png, wonderbrush translators. 2016-07-10 19:17:01 +02:00
Jérôme Duval
214f8799db try to fix gcc5 build on buildbot.
* I'd only reproduce the kernel build failure locally, weird.
2016-03-04 20:23:17 +01:00
Rene Gollent
8028ede7db Build: Add architecture rule for libshared.a.
- As suggested by Ingo, add libshared.a to the architecture name map.
  This allows it to be linked by its short name like other frequently
  used libraries.
- Adjust all Jamfiles referencing the lib accordingly.
2016-01-15 21:12:24 -05:00
Jonathan Schleifer
bfe60c1e5a
Don't define __ARM*__ for Clang
I have a patch for Clang ready that I will upstream instead.
2015-11-08 16:38:57 +01:00
Jonathan Schleifer
95fd629fa3
Don't use -mapcs-frame with Clang 2015-11-07 18:07:45 +01:00
Adrien Destugues
f15fb39b20 Properly fix Lex/Yacc dependency following Ingo's advice
* By setting HDRGRIST to match SOURCE_GRIST in MultiArchDirSetup, the
include scanning in Jam will work properly: the generated header will
have the same grist as what the include scan looks for.
* Remove the now unneeded workaround from netresolv Jamfile.
2015-06-15 19:27:12 +02:00
François Revol
a24ca25e68 PPC: disable -Werror for now
At least for the Sam port there are still things to fix in U-Boot code,
and some #warnings as well.
2015-06-12 23:03:53 +02:00
Alexander von Gluck IV
9c5e234cb3 arm: Initial Cubieboard4 work
* SD cards are "blessed" with a boot0 spl and boot1 u-boot
  at fixed locations.
* Allwinner's u-boot is lacking a lot.
* Upstream u-boot should be better at some point. WIP:
  http://lists.denx.de/pipermail/u-boot/2015-January/201537.html
2015-04-11 16:53:04 -05:00
Alexander von Gluck IV
427d40adb5 arm/targets: Add rpi2, rename raspberry_pi to rpi1
* The Raspberry pi 2 uses a new SoC which differs slightly
  from the Raspberry Pi 1.
* Someday these two board targets could go away when we get
  FDT support.
2015-03-07 12:31:12 -06:00
Adrien Destugues
1837fcbfad Disable Werror for firewire again.
There is apparently no way to get all compilers happy at the same time.
2014-10-28 10:57:33 +01:00
PulkoMandy
7db4f82528 Enable Werror for a few more targets. 2014-10-27 23:05:28 +01:00
Adrien Destugues
2672ea45e0 T9: fix gcc4 build and enable Werror. 2014-10-23 23:10:37 +02:00
Adrien Destugues
06f436b3ac Use strict mode when url-decoding file requests.
We don't want '+' to become a space here.
Fixes #11109.
2014-10-21 11:31:48 +02:00
Adrien Destugues
e6e764b34f Enable Werror for accelerants and input server filters 2014-10-19 12:59:39 +00:00
Ithamar R. Adema
f9f3b564ac ARM: only enable C++11 for libroot, not globally
This resembles the x86_64 build, and fixes the compilation issues
with the bootloader stdio.h header.

Fixes #11144
2014-09-01 15:28:49 +02:00
Adrien Destugues
f66aa8595c Enable C++11 for all ARM targets, not just beagle.
* Also clean up the flags definitions in the beagle target to avoid
repeating the flags 3 times.
2014-08-18 09:00:50 +02:00
Oliver Tappe
11ae3c5fe7 Cleanup build system and configuration.
* Drop unused variables from build system that refer to the system
  libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
  build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
  built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
  compiler, as the only libraries that are used by Haiku's build system
  is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
  for that neither is wanted).
2014-08-13 13:32:45 +02:00
Oliver Tappe
220d040227 Use libstdc++, libsupc++ and libgcc from gcc_syslibs.
* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
  from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
  x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
  necessary since we're only using libgcc-as-single-object for libroot
  with x86_gcc2, where the filtered object file doesn't exist. Should
  the objects that used to be filtered cause any problems as part of
  libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
  x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
  x86_gcc2, we still build libstdc++.so from the sources in the Haiku
  source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.
2014-08-13 13:32:44 +02:00
Oliver Tappe
77253e671b Switch to using crtbeginS.o and crtendS.o unconditionally. 2014-08-13 13:32:44 +02:00
Oliver Tappe
afde44733f * When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
  in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
  were necessary to avoid a build problem with strace. There are
  probably more bugs like these hiding in our build system files, but
  I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.
2014-08-13 13:32:34 +02:00
Oliver Tappe
36f3164c3e Fix #11076 - build failing on Haiku.
* Haiku does not currently provide crtbeginS.o and crtendS.o, so
  we fall back to crtbegin.o and crtend.o.
  
This should not have any ill-effects, as the available compilers on
Haiku do not use __cxa_atexit() yet.
2014-07-27 16:00:53 +02:00
Oliver Tappe
a36fd6667a Use crtbeginS.o and crtendS.o everywhere.
* Gcc is now using __cxa_atexit, so we need to use the crtbegin
  and crtend implementations that are meant to be used for shared
  libraries. This avoids crashes of servers that load add-ons
  (Media-Addon-Server and Print-Server) when shutting down Haiku.
* As executable are shared on Haiku, we use crtbeginS.o and crtendS.o
  for those, too.
* To simplify, we even use crtbeginS.o and crtendS.o in the kernel,
  but there they don't currently make a difference, as the respective
  initialization and cleanup functions are not being invoked by the
  kernel.
2014-07-26 19:13:24 +02:00
Jonathan Schleifer
8f9b4f71c5 Fix comment 2014-07-17 01:25:27 +02:00
Jonathan Schleifer
32ccf45f44 build/jam/ArchitectureRules: Check for != 1, not = 0 2014-07-17 01:14:55 +02:00