Commit Graph

4228 Commits

Author SHA1 Message Date
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
d113c00b5a Remove more HOST_PLATFORM_SUNOS cruft. 2018-11-23 16:29:57 -05:00
Augustin Cavalier
807304b100 build: Add basic support for MinGW hosts.
This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.
2018-11-23 16:24:25 -05:00
Augustin Cavalier
37c106060a build: Remove support for cross-building from Cygwin and SunOS.
These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.
2018-11-23 15:40:50 -05:00
Augustin Cavalier
cb101bdad6 BootRules: Fix BuildMBR under Clang.
We need to force -m32 here, and we also need to tell Clang that we
want to allow relocations in .text.

Clang builds now get to kernel entry, but the bootloader fails to
load the early-boot modules with strange remapping errors, and so
panics with "get boot partitions failed!"
2018-11-23 00:06:23 -05:00
Augustin Cavalier
c371f18d7e OverriddenJamRules: Remove TODO.
All relevant flags have been added to ASFLAGS where necessary.
2018-11-23 00:06:23 -05:00
Augustin Cavalier
df34a27137 build: Do not use regular TARGET_*FLAGS in kernel and bootloader.
The generic CCFLAGS are already appended to the HAIKU_KERNEL_*FLAGS
and HAIKU_BOOT_*FLAGS, so these were just duplicates. And now that
we strip certain flags out of the base ones, this was incorrect
(and causes Clang to error in some circumstances.)
2018-11-23 00:06:23 -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
Augustin Cavalier
633e29aeb6 Jamrules: Add a hard requirement on the new Jambase.
And remove the overridden rules that were migrated back to it.
2018-11-21 19:16:50 -05:00
François Revol
35eb380e1a Add Shelf screen-saver to the regular image
It builds and works, so let's have people test it.

Change-Id: I33016527e89aab29ba3200c8b4bf72376a32312b
2018-11-20 16:58:52 +01:00
Alexander von Gluck IV
dd2a114397 arm/HaikuPortsCross: Update binutils_bootstrap to latest
Change-Id: Ie614fc05135eada522d19e416309f681506e8069
2018-11-19 19:59:08 -06:00
waddlesplash
69bd151d32 build: Fix paths of tools for bootstrap builds.
The paths to tools are relative to cwd, and HAIKU_ABSOLUTE_OUTPUT_DIR is
not necessarily the same as that, in the case where jam is invoked from
the repository root instead of a "generated" directory.

HOST_OBJECT_BASE_DIR is relative to pwd also, so just make it absolute.

Change-Id: I2aef83804be31c3c03c8577d56372f2dc6cb77f8
Reviewed-on: https://review.haiku-os.org/718
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-19 23:14:02 +00:00
Augustin Cavalier
59ecfa6cb6 netfs: Fix and enable on 64-bit. 2018-11-18 14:37:06 -05:00
Augustin Cavalier
f0d5e5b062 userlandfs: Fix the BeOS frontend on 64-bit. 2018-11-18 14:36:28 -05:00
Alexander von Gluck IV
53ce162d3d Revert "RepositoryRules: Use absolute output path for bootstrap package,mimeset,mimedb"
* Nope.  Double generated directories when bootstrap run from HAIKU_TOP
* Third time's a charm?

This reverts commit 3db452372c.
2018-11-16 20:49:36 -06:00
Alexander von Gluck IV
3db452372c RepositoryRules: Use absolute output path for bootstrap package,mimeset,mimedb
* First re-fix of what was reverted in 85f8e7001
* haikuporter calls these during bootstrap and needs absolute paths

Change-Id: I40f1b15ffd474d3286356f3151eacd9a4a09add2
2018-11-16 20:05:07 -06:00
Augustin Cavalier
a5297c5905 build: Add SYS:NAME attribute to all folders handled by Tracker.
Mail and Deskbar folders are still TODO.
2018-11-15 22:36:35 -05:00
Augustin Cavalier
9283f47bec ImageRules: Fix adding directory attrs.
There is no variable "dir" in this rule, only "directory".
2018-11-15 22:23:06 -05:00
Augustin Cavalier
795f1571b3 Move data/image_directories to src/data/directory_attrs.
These data files are used in the generation of build targets,
so moving them to src/data alongside the package_infos & etc.
makes more sense.

They don't seem to be activated properly though (I added some tracing
to try and figure out why they aren't used but haven't gotten to the
bottom of that yet.)
2018-11-15 21:20:24 -05:00
Augustin Cavalier
ee355c32c7 packages/Haiku: Remove liblocale.so -> libbe.so symlink.
It has not been in /system/develop/lib for a long time, and all
applications have been rebuilt multiple times since PM, so this
isn't needed anymore.
2018-11-15 20:43:42 -05:00
Augustin Cavalier
17640964db build_haiku_image: Remove obsolete copyright concatenator.
All third-party software is now packaged and we ship the licenses
directory.
2018-11-15 20:32:22 -05:00
Augustin Cavalier
1801b9565c BuildSetup: Don't define __x86_64__, GCC/Clang do this automatically. 2018-11-10 14:52:07 -05:00
Augustin Cavalier
d8b0a13568 build_cross_tools: export ACLOCAL to stop GCC from trying to use it.
This should fix the build of the crosstools on Haiku, CentOS, and
other platforms with versions of autofools too old or too new for
GCC 7.
2018-11-10 14:41:55 -05:00
Augustin Cavalier
85f8e70013 Revert "jam: Fix bootstrap via absolutes in LD_LIBRARY_PATH"
This reverts commit 030d0eb58f.

It is absolutely not correct to assume PWD is the generated dir;
it may also be the repository root.

Fixes jam putting some build artifacts in the source tree.
2018-11-04 15:37:31 -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
030d0eb58f jam: Fix bootstrap via absolutes in LD_LIBRARY_PATH
* The PWD's are live based on jam run location which means
  they shouldn't bind the generated directory to a fixed path
  as before.
* We also need an absolute LD_LIBRARY PATH since haikuporter
  loses the context invoking host tools.
* I don't think we can run jam from outside of the generated
  directory anymore... but I don't think that was a thing.

Change-Id: I020f902ce5235bf268c9075d6e2ae85296a4ad20
2018-11-04 08:39:01 -06:00
Alexander von Gluck IV
657081f3c6 bootstrap: Fix bootstrap after HAIKU_TOP changes
* haikuporter's cwd is the haikuporter path during execution
  (haikuporter/HaikuPorter)
* We have to pass the full working path and can't use a relative
  path here
* Seems to fix the bootstrap build

Change-Id: Ibb139f164c5e08eda3a08136c4e9ea2c9eaeae9e
2018-11-03 09:43:37 -05:00
Augustin Cavalier
4ee3f16d6a build: Use the absolute path on more instances of build_* scripts. 2018-11-02 23:26:11 -04:00
Augustin Cavalier
68191643b8 build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.
Strictly POSIX-compliant shells (like dash) do not allow sourcing
files in the present directory without "./". The script really should
not know or care about what directory the passed files are in,
so now we add a jam grist to make the passed paths absolute.

Fixes the build on all systems where /bin/sh is dash or a similarly
POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)
2018-11-02 21:46:22 -04:00
Augustin Cavalier
8b4ab45439 BootRules: BuildMBR links as well as compiles, so pass in LINKFLAGS.
Clang builds presently have some magic in it that is required for
linking to work at all.
2018-11-02 21:41:53 -04:00
Adrien Destugues
95e0ce2c0b Add an haiku_extras package.
Curerntly contains support for amiga RDB and Apple (PPC) partitionning systems,
that is, things that might be useful, but not for most users, and was
not part of the default package.

Naming inspired from the Extras disk shipped with Amiga Workbench, for
lack of a better idea.

Change-Id: I57fb229806139939bc019e6c43b0aec7ea1f483a
Reviewed-on: https://review.haiku-os.org/652
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-03 00:43:41 +00: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
Barrett17
1275248a77 codec_kit: First half
* Move all codec stuff into libcodec.so
2018-10-24 16:12:03 +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
Alexander von Gluck IV
59bba8b9ec build: Make EFI opt-out vs opt-in
Change-Id: I94a5692b2e39e45ff843182f43fa757a0549583c
2018-10-17 21:21:47 -05:00
Jessica Hamilton
1f96a3cbde system/boot: Add support for multiple bootloaders 2018-10-17 14:47:46 -05:00
waddlesplash
0dd0b40f89 BuildFeatures: Remove curl buildfeature.
No longer used.

Change-Id: I3a97e18e76da0995f9ab8599b796144c5bc0452c
Reviewed-on: https://review.haiku-os.org/606
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-30 04:33:42 +00:00
waddlesplash
1a7a96606c BuildSetup: Link against -ldl as well as -lm on non-Haiku.
Fixes the build of libpackage_build following Curl dependency removal.

Change-Id: Idd08fc1c099ba19c6b46c447686f36ce0b35652a
Reviewed-on: https://review.haiku-os.org/605
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-30 03:28:44 +00:00
Augustin Cavalier
2627aa0698 HaikuPorts: Update build-packages again to pull in new Mesa. 2018-09-27 00:37:43 -04:00
Augustin Cavalier
b16a18cba6 build: Include extra information in the package version.
Previously only the "effective revision", i.e. the hrev by itself,
was used. Now we include the "commits ahead" count and the "dirty" flag,
if they're there, using _ instead of - of course.

Change-Id: I5238d01926c2cca242bffbdef30bff606a173a06
Reviewed-on: https://review.haiku-os.org/596
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e7c5d994267fb7d49e3dd50c2854e9b37c9ffca1)
Reviewed-on: https://review.haiku-os.org/597
2018-09-27 03:38:07 +00:00
Augustin Cavalier
36378fb355 DefaultBuildProfiles: Make sure the final CD image is <= 694MB. 2018-09-26 02:45:05 -04:00
Augustin Cavalier
7a382debc3 HaikuPorts: Update the build-packages set. 2018-09-26 02:43:36 -04:00
Augustin Cavalier
d6a1675c00 DefaultBuildProfiles: Without sources, release images fit in 700MB.
We don't want to ship these images as the ones for main distribution,
but at least we can make them available as downloads for those who do want
to use CDs.
2018-09-25 23:05:23 -04:00
Alexander von Gluck IV
85428f0e6b profiles: Bump release to 1100/1300 MiB
* This gives us plenty of space for source packages.
* A Mini-DVD is 1.4 GiB, and USB sticks of 2 GiB are at
  the sweet spot of low-price vs size.
* Unused space will be compressed in release zip.
* We blew by 700 MiB long ago. Sorry CD-R folks.

Change-Id: I3bbe4508777027f6fe7c0ee2992637541feeb88f
2018-09-24 08:59:23 -05:00