Commit Graph

122 Commits

Author SHA1 Message Date
Augustin Cavalier
205beac382 ArchitectureRules: Enable more warnings. 2019-01-16 19:31:58 -05:00
Augustin Cavalier
f3441f9702 ArchitectureRules: Enable -Werror for the kernel. 2019-01-15 14:11:50 -05:00
Barrett17
df580f53de ArchitectureRules: Cleanup deprecated plugins defs 2018-12-25 11:36:01 +01:00
Augustin Cavalier
3d34cef833 build: Disable -Werror for bus.
Firewire errors out.
2018-11-25 12:44:43 -05:00
Augustin Cavalier
80d966a005 ArchitectureRules: Use the same warning flags for kernel as for userland.
This requires disabling some EnableWerror, as there are a lot of
sign-comparison warnings triggered in certain drivers that now
need to be fixed.
2018-11-24 17:49:20 -05:00
Augustin Cavalier
e5b11ae3c7 ArchitectureRules: Remove -Wno-unused-parameter.
I added this here so that one could set -Wextra in BuildConfig and
not be bombarded with useless warnings; but it seems that GCC2 chokes
on it instead of ignoring it. Oh well.
2018-11-23 19:58:22 -05:00
Augustin Cavalier
382fff8961 ArchitectureRules: Enable -Wuninitialized and -Wunused-but-set.
Also clean up the warning flags in general; they are now
more readable.
2018-11-23 19:14:49 -05:00
Augustin Cavalier
58b7901304 ArchitectureRules: Bootloader rules cleanup.
* Move -fPIC to ccBaseFlags, as we don't want it in ASFLAGS.
 * Remove -fPIC from BOOT_CCFLAGS, as we never want it in there.
 * Move EFI flags to the actual EFI setup location.
2018-11-23 00:06:23 -05:00
Augustin Cavalier
b54ed691ed ArchitectureRules: Remove duplicate GCC_BASE_FLAGS.
We append the full CC_FLAGS in KernelArchitectureSetup,
so these are redundant and not used anywhere else,
so scrap them completely.
2018-11-21 23:52:35 -05:00
Augustin Cavalier
a87c7773e8 EFI: Make the loader build under Clang.
Clang doesn't support -maccumulate-outgoing-args, -nostartfiles
is not needed in LDFLAGS (and lld doesn't know about it anyway),
and Clang uses .dynstr so we need to copy it also.
2018-11-21 22:02:06 -05:00
Alexander von Gluck IV
5bd0fbd13a build: Add riscv architecture
* I mean, qemu 3.0 supports it.
* Nobody get excited, we need all the triplets added to
  our gcc buildtools. clang 7.0 seems to be cool with riscv though.

Change-Id: I17728163e4f28a3c16cee482a253364724b06f3a
2018-11-04 13:47:50 -06:00
Alexander von Gluck IV
d787141342 efi: Only no-red-zone and accumulate on x86_64
* We're making the assumption about EFI here, but it's
  fine since those defines will just go unused on non-efi builds.
* Jam segfaults when we get two for's, a case, and an if deep.
  (adding an x86_64 check to efi section just below)

Change-Id: Id98e87b6570ddc7d9c2195cd05b0526e71771675
2018-10-28 19:35:14 -05:00
Augustin Cavalier
80abc9a907 build: Restore a mechanism to build EFI-less anyboots and CDs.
This fixes the 32-bit build following the merge of multiple bootloaders
support.

Fixes #14656.
2018-10-27 16:57:35 -04:00
Barrett17
de42fb602e Welcome Codec Kit!
* Fix MediaDebug header.
* Add codec lib name mapping.
2018-10-24 16:12:10 +02:00
Alexander von Gluck IV
8522edfe36 jam: Ensure common boot LDFLAGS and ASFLAGS get distributed 2018-10-19 08:55:41 -05:00
Alexander von Gluck IV
dd45d433ed u-boot: Fix after multi-loader changes
* Move MMU image to a real image define vs being crammed into
  the u-boot bootloader Jamfile
* ARM not working yet, but better!
* x86 still builds

Change-Id: I3fb873dbac06fe2db893915b667bf3ce1df44686
2018-10-18 10:49:59 -05:00
Jessica Hamilton
1f96a3cbde system/boot: Add support for multiple bootloaders 2018-10-17 14:47:46 -05:00
Augustin Cavalier
23446707de ArchitectureRules: Pass -shared to the universally to the linker when using Clang. 2018-09-08 18:56:33 -04:00
Augustin Cavalier
a41d815c67 ramfs: Lots of fixes to the build.
* Store pointers in an addr_t instead of int32, for 64-bit's sake
 * Use DebugSupport.h instead of userlandfs Debug.h and remove extra parentheses
 * Create a header-only String class based on the userlandfs String and use it
 * RecursiveLock instead of Locker.
 * Jamfile cleanups and other misc. changes.

It isn't yet adapted to the new VFS API, so the build is still somewhat
broken.
2018-08-22 19:19:56 -04:00
Augustin Cavalier
bd43e4ae23 ArchitectureRules: Add -fPIC and fix warning flags for Clang. 2018-08-17 12:03:53 -04:00
Alexander von Gluck IV
816a311dd7 build/clang: Use elf_i386 under clang for 32-bit bootloader
Change-Id: If4606e62e94b9d4e393a667d35c09b9471b66653
2018-08-17 10:17:27 -05:00
Augustin Cavalier
252e4f6299 configure: Set a default LINKFLAGS in addition to LDFLAGS.
The former is passed to the compiler when linking using it,
the latter is passed to ld when it is invoked directly.

Also modify ArchitectureRules to not overwrite this setting.
2018-08-15 14:19:30 -04:00
Augustin Cavalier
937314e526 ArchitectureRules: Enable --no-undefined on GCC2.
Seems to work just fine.
2018-08-14 13:54:36 -04:00
Augustin Cavalier
b8a38e2bc1 ArchitectureRules: Move Clang warning flags to appropriate location.
Also tweak the no-delete-null-pointer-checks comment so it's slightly
less offending of the 80-chars rule.
2018-08-11 15:36:04 -04:00
Augustin Cavalier
d0bfb2c044 ArchitectureRules: Append Clang flags before potential early-exit.
Gets the Clang-ARM build a bit further into libroot.
2018-08-11 15:26:54 -04:00
Augustin Cavalier
cf10fee2c1 ArchitectureRules: Pass -march / -mcpu flags to the assembler also.
Fixes #14317.
2018-08-11 15:18:36 -04:00
Alexander von Gluck IV
a0f7292802 efi: no-red-zone and accumulate-outgoing-args only x86
Change-Id: Ic9d94298d21e55beb2829be8dbd09f4b3d5db99a
2018-08-08 10:10:37 -05:00
Alexander von Gluck IV
38fc668b2e arm64: Add architecture rules
Change-Id: Ia9cbe77e810b3ab1bde5677a16cc2fbd931de965
2018-08-03 09:55:49 -05:00
Augustin Cavalier
c44472c541 Enable use of Clang's integrated assembler. 2018-08-01 19:09:22 -04:00
Alexander von Gluck IV
e667d7db02 arm: Tune default architecture target
We lost these tunings when I moved us away from board focused
builds. I feel like most of our ARM interest is around ARMv7+

Change-Id: Ie301d275a74d48ee3d0c4c7dc7d6cdd635288a7b
2018-08-01 09:03:43 -05:00
Alexander von Gluck IV
01535bc234 build: gcc/g++ to cc/c++
Just something to reduce confusion, these are non-gcc centric.

Change-Id: Iee29d6e5e51ea517408b5032ecbb6509cb9b721f
2018-07-31 20:27:21 -05:00
Augustin Cavalier
1587c3c555 ArchitectureRules: Enable no-delete-null-pointer-checks on Clang.
This requires a trunk build of Clang (the flag was only implemented
& introduced 12 days ago), but at present, full builds will fail
due to an unrelated Clang bug: https://bugs.llvm.org/show_bug.cgi?id=38356
2018-07-30 22:00:21 -04:00
Alexander von Gluck IV
e66bdff5cc build/arch: Adjust min. ppc floppy + archive sizes. Now used.
Change-Id: I9bfcc79e1db623542258953a781de6e7b2e44f92
2018-07-09 10:38:10 -05:00
Augustin Cavalier
2a3a847f82 HPGSTranslator: Remove from the tree.
Not included in the build and not referenced anywhere else. Now lives at
HaikuArchives.
2018-06-19 23:43:53 -04:00
Augustin Cavalier
b2f22ba09f build: Actually disable non-useful Clang warnings.
* The if-case was appending to gccBaseFlags after the rest of the file
   was done using it, so it was ineffective. Now we set it with the rest
   of the baseFlags.
 * We already pass no-integrated-as in configure, no need to do it in
   MainBuildRules.
 * B_USE_BUILTIN_ATOMIC_FUNCTIONS isn't used anymore, so get rid of it.
2018-06-18 22:04:48 -04:00
Augustin Cavalier
29a21a63cb ArchitectureRules: Enable -ftree-vrp, but use -fno-delete-null-pointer-checks everywhere.
Most of the problems with tree-vrp stemmed from its deletion of null-pointer
checks (see linked commit in the source.) Now, GCC has a flag to control that,
and with it enabled I can boot to the desktop even with tree-vrp enabled.
2018-06-18 19:32:13 -04:00
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