Commit Graph

4165 Commits

Author SHA1 Message Date
Augustin Cavalier
21909dacd2 HaikuPorts: Update build-packages set. 2018-08-26 01:29:35 -04:00
Augustin Cavalier
9b41d53230 HaikuSource: Add missing SEARCH. 2018-08-23 20:11:49 -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
e0d28cdccf reiserfs: Fix the build and enable on x86_64. 2018-08-22 19:19:54 -04:00
Augustin Cavalier
d37ae86568 LocaleRules: Add a second version of the catalog extraction actions.
Clang behaves slightly differently than GCC and allows us to steamroll
some errors we don't care about that GCC does not.
2018-08-21 20:52:41 -04:00
noreply@haiku-os.org
5174b9e8d1 Revert "Update translations from Pootle"
This reverts commit 6b7f260899.
2018-08-21 17:58:13 +00:00
Autocomitter
6b7f260899 Update translations from Pootle 2018-08-21 14:12:05 +00:00
Augustin Cavalier
c20e7a6862 build: Add a haiku_source package.
This contains the contents of Haiku's sources, which is necessary
to include in "with source" builds for proper (L)GPL compliance,
mostly because we have GPL code in the tree.
2018-08-20 21:00:25 -04:00
Augustin Cavalier
28ab14e35f MainBuildRules: Use $(CC) -E instead of "cpp" as the preprocessor.
"cpp" is the system C preprocessor, not the one from our cross-compiler,
and in the case of my system which does not have GCC installed at all,
it doesn't even exist.

With this, Clang-ARM builds successfully create a "haiku-arm.mmc".
I couldn't get it to output, even after blessing it with "rune",
but that may just be my fault...
2018-08-17 21:54: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
8bc13c5528 BuildSetup: Default HOST_C++ and HOST_LINK to HOST_CC.
Now that HOST_CC is actually passed in, we need to default
everything to it; otherwise, it's up to the Jambase as to
what CC we are actually using.

Found by trying to build Haiku on a system that has no "cc"
executable, but Jam tried to use it anyway (as all three of CC,
C++, and LINK.)
2018-08-15 14:41:40 -04: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
4c13d20c24 LocaleRules: Pass the files to the preprocessor instead of piping it in.
This rule process the entire target's source files at once, and so
whoever wrote this rule in the first place (PulkoMandy?) probably
assumed without even testing that "cc -E" would create multiple
outputs for multiple inputs.

It doesn't, though: it just outputs them in sequence on the command line
the same way it does when the files are piped in through "cat". This
also has other advantages (e.g. preprocess errors caused by the compiler
assuming it was C not C++ code and so not defining __cplusplus, local
includes are now resolved properly, etc.)

Doing it this way does exposes other problems like the one fixed in the
previous commit (headers with no context defined, which worked previously
only because they used the context of the preceding `cat`'ed file.)

We now also remove the .pre file after collecting the catkeys.
2018-08-13 17:00:16 -04:00
Augustin Cavalier
20c61bb7a4 Revert unrelated changes from previous commit.
I should have read the update script more closely as to
how it added changes for committing...
2018-08-13 15:58:01 -04:00
Autocomitter
ef9994ee77 Update translations from Pootle 2018-08-13 19:45:39 +00: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
e823d3f06f BeOSRules: Pass CCFLAGS through to the compiler during ResComp.
Otherwise, Clang warns that we haven't set an architecture on ARM,
which is set in CCFLAGS. Since these might also contain other flags
that affect the preprocessor, there isn't any good reason to not
pass it through, so do that.
2018-08-11 15:33:08 -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
47a96c099e MainBuildRules: Fix CreateAsmStructOffsetsHeader on recent Clang.
It seems that at on some platforms at least, Clang uses @define instead
of #define, but with functionally identical syntax, so use sed to
process it as such.
2018-08-11 15:20:30 -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
459da273e4 build_packages: Now update arm and ppc after hardlinks (oops)
Change-Id: I2140dc50fb1cedcede317deb1a3473ec4db7871c
2018-08-08 10:27:49 -05:00
Alexander von Gluck IV
dc6b314309 build_packages: add efi for ppc and arm for fun
Change-Id: I81575e9f96d9682d17d5badd83808baaba4a7c69
2018-08-08 10:21:34 -05:00
Alexander von Gluck IV
3718fb861d efi: Drop x86_64 assumptions.
Change-Id: I3d806f43ef951013369fd0bf906eca5977e8d34c
2018-08-08 10:18:06 -05: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
0689d8ddb8 BuildSetup: aarch64 -> arm64. 2018-08-02 20:04:19 -04:00
Augustin Cavalier
c44472c541 Enable use of Clang's integrated assembler. 2018-08-01 19:09:22 -04:00
Jérôme Duval
574dc1a374 Add x86_gcc2 secondary arch to x86_64 cross repository. 2018-08-01 20:42:29 +02: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
26ae216d0e realtekwifi: Import from FreeBSD 11.1.
Untested, but requested by Anarchos.
2018-07-31 19:50:46 -04:00
Augustin Cavalier
b5c220fb7d build: Use BeOSBuildCompatibility on Haiku also.
This forces usage of the libroot_build wrapper functions even on GCC2.
Probably fixes some strange ExtractHPKGArchive failures on Haiku.
2018-07-31 19:50:46 -04: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
Augustin Cavalier
c67634d98c BuildSetup: __NO_INLINE__ and -fno-delete-null-pointer-checks.
* __NO_INLINE__ fixes the cross-build on some glibc-based systems with
   newer compilers, as it prevents glibc from declaring functions inline
   that we override in libroot_build.
 * We can now enable tree-vrp as long as no-delete-null-pointer-checks
   goes where it used to.
2018-07-30 22:00:21 -04:00
Jérôme Duval
a27099f559 x86_64/x86_gcc2: don't depend on libgcc_s, libstdc++, libsupc++. 2018-07-23 20:57:59 +02:00
Jérôme Duval
46f078c0a3 PackageRules: add secondaryArch to the packageInfo grist.
this fixes the generation of multiple secondary architecture package infos.
2018-07-23 20:54:14 +02:00
Jérôme Duval
6de4d8fcf6 RepositoryRules: correctly handle multiple secondary archs. 2018-07-22 20:02:12 +02:00
Augustin Cavalier
1e29bfd7d8 Update all remaining consumers of the FreeBSD compat headers. 2018-07-18 20:10:04 -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
Alexander von Gluck IV
da54ef94a8 build/profiles: Add @minimum-cd profile for things like ppc
Change-Id: Id50d6ff6eaca598c00043d5668ad836a48a74262
2018-07-09 10:36:07 -05:00
Alexander von Gluck IV
18e7b99797 build: Drop specalized haiku-boot-cd-ppc target
* Now generated via haiku-boot-cd when target ppc

Change-Id: I1d4e83c4d95ebc18b0dab28ffb2af03db5dc9d1d
2018-07-09 09:46:30 -05:00
Jérôme Duval
4603cb3cd3 bootstrap: update binutils x86_64 versions. 2018-07-06 19:01:27 +02:00
Augustin Cavalier
e89c61736e drivers/network/wlan: Import idualwifi7260 from FreeBSD 11.2.
The lowest model number supported by this driver is "3160", but that's just
Intel's insanity: the 7260 was released the quarter before it. So following
our naming convention strictly, "7260" is the correct name for this driver.

The firmware situation for this one is also a little different. Unlike past
instances where Intel has released mostly nonsubstantial firmware updates,
allowing us to just copy a recent-ish version from the iwlwifi archives,
the firmware is more closely tied to the driver in this series. As a result,
some of this firmware is not even used by Linux yet (they're a few versions
behind it seems), so the firmware packages included here come from FreeBSD.

One major hardware feature - RX of multiple frames at a time - is disabled
in this commit, as it depends on mbuf reference-counting, according to the
FreeBSD developers I asked, which we do not implement yet. I'll hopefully
get to looking at that in the next few weeks.

And with that, I finally have WiFi on my primary laptop, my original reason
for setting out on this quest last year. This commit was pushed through it,
even :)
2018-07-04 20:46:32 -04:00
Augustin Cavalier
b806d76f78 HaikuPortsCross: Updates for ARM. 2018-07-03 19:06:33 -04:00
Augustin Cavalier
d1c51097eb Upgrade FFmpeg to 4.0.1 across the board (including GCC2.)
This was accomplished by adding some pretty nasty hacks to the FFmpeg recipe
so that we can compile it for the GCC2 ABI using GCC7. This works because
GCC's C ABI has not changed between GCC2 and GCC7.

As a consequence of this, pretty much all the longstanding issues of the
ancient-and-still-miscompiled FFmpeg 0.10 are now completely gone.

Fixes #5080, #8461, #12696, #12436, #13981 #13410, #13337.
Closes (possibly fixed earlier) #8605, #8511, #6984.
Probably fixes (couldn't test) #13989, #11974.
2018-07-02 22:21:27 -04:00
Augustin Cavalier
e936fc859b build: Cleanup OptionalPackages.
* Remove WifiFirmwareScriptData; the new mechanism is to use the script
   to create a true package, and it also supports the offline downloading
   this would have provided.
 * Remove "FFMpeg"; never used -- the "ffmpeg" package is actually added
   via BuildFeatures.
 * Remove Bluetooth; now provided as part of the main Haiku package.
2018-07-02 18:26:06 -04:00
Augustin Cavalier
8547d09e97 build: Rework InstallSourceArchive into AddHaikuImageSourcePackages.
Also add AddHaikuImageSourcePackages invocations for all relevant
(i.e. [L]GPL'ed) packages.

Doesn't truly fix #9990 as PackageKit cannot be used to install source
packages, but this is enough for creating a redistributable image,
so that ticket can be moved out of the beta1 milestone now.
2018-07-01 14:25:10 -04: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