Commit Graph

4088 Commits

Author SHA1 Message Date
Augustin Cavalier
d3bdde3594 HaikuPorts: Add libidn2.
New dependency of gnutls36.
2018-03-08 11:34:52 -05:00
Augustin Cavalier
853d003ed9 HaikuPorts: Update again after openexr rebuild.
Due to https://github.com/haikuports/haikuporter/issues/158
2018-03-07 20:34:36 -05:00
Augustin Cavalier
61206a24c9 build: Cleanup of libgnuregex usage.
John's revert of my removal commit dragged back a bunch of cygwin/sunos
cruft, as well as re-adding RegExp.cpp to the host libshared, that we don't
need.

Instead, remove this and add libgnuregex_build to just the tools/keymap
link alongside the FreeBSD gnuregex case.
2018-03-07 18:04:31 -05:00
Augustin Cavalier
9e13d1b8d1 HaikuPorts: Update against current repos. 2018-03-07 18:04:31 -05:00
Alexander von Gluck IV
b1da0c3c47 HaikuPortsCross/ppc: Fix bash/bison/icu/make versions
Change-Id: I3fb8ac8059912c0ed5cca7ebeaf07ac0a8ee759c
2018-03-06 21:52:30 -06:00
Alexander von Gluck IV
82876dc4cb build_cross_tools_gcc4: Disable TLS on PowerPC for now
Change-Id: Ib99a1a4aeeb5d17a301ffd1d9c5fcadd37261ebf
2018-02-28 21:46:24 -06:00
John Scipione
940a3a2322 Revert "build/libgnuregex: Remove."
This reverts commit ca087b0532.

Mac OS X requires libgnuregex for Keymap
2018-02-16 16:45:11 -08: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
Jérôme Duval
7e4c719dbb Fix x86 bootstrap on x86_gcc2. 2018-01-30 19:19:18 +01:00
Jérôme Duval
86ae71e8ee bootstrap: add missing curl and less packages for x86_gcc2. 2018-01-29 15:58:39 +01:00
Jérôme Duval
e6168b4ffe Set the image size for debug releases to 900MB. 2018-01-14 10:08:05 +01:00
Jérôme Duval
813b6c656f disasm: add to the image on x86_64. 2018-01-13 15:54:21 +01:00
Augustin Cavalier
42877d24cf makefile-engine.html: Does not belong in docs/develop.
docs/develop is for documentation about Haiku's internals. The Makefile-Engine
is public API. For now, put it in docs/misc.
2018-01-10 16:12:15 -05:00
Augustin Cavalier
8a9e1e0d4a Removal of non-Haiku target platform logic from build system (part 1.)
Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
 * SetSubDirSupportedPlatformsBeOSCompatible
 * HOST_PLATFORM_BEOS_COMPATIBLE
 * TARGET_PLATFORM_BEOS_COMPATIBLE
2017-12-31 16:14:22 -05:00
Augustin Cavalier
699b4bbab9 libroot_build: *Actually* fix attribute usage on Haiku.
To quote jscipione (from 95e8362c52),
"Let me tell you a story about a bug" -- though this tale spans a much
lesser time than that one did.

In 5e19679ea3, I enabled libroot_build for
Haiku, instead of using the system libroot as we had before. There were
a number of bugs introduced along with this that I hadn't fixed (and there
may be more after this), but most of the obvious ones (crashes on x86_64...)
were fixed shortly enough.

Attribute usage, though, was a different story. Unlike most of the POSIX
calls in libroot, which were aliasing system functions no matter what the
platform, the attribute calls were not, as they are specific to Haiku.

Initially I had completely forgot about them, and it wasn't until a few days
later when I noticed that I had an "attributes" directory in my generated
that I realized that the "generic" attribute layer was being used on Haiku.
I attempted a fix for this in 5e19679ea3,
thinking that would clear the problem up, but I didn't actually run a test
beyond seeing that my BuildConfig had been updated properly. In fact,
BuildSetup was hard-wired to not even pass that definition through on
Haiku, and so that commit had in effect caused nothing.

My initial "fix" of just changing BuildSetup then caused a build failure,
as while libroot_build itself compiled, it ran into errors whenever attributes
were used, because in letting the real libroot's attribute calls shine
through, I had bypassed libroot_build's FD emulation/shim layer.

Then I tried and failed at three separate attempts to solve this with code:
 - a version of the "fs_attr_...h" interface for Haiku. This proved possible
   in theory, but in practice I would need to reimplement a lot of attribute
   handling code in it, because all I had access to from there was syscalls.

 - a version of "fs_attr_untyped" that bypassed its reimplementations of
   the "fs*attr" functions for the libroot ones, only using the FD shim layer.
   This proved possibly not even theoretically possible because it would have
   caused preprocessor hell in some of the build headers, and also assumptions
   about how attributes are read were totally different.

 - a completely new "fs_attr_haiku" that was a completely new interface to
   the fs*attr functions. This proved practically impossible because of the
   need to include structures from the system libroot to call out to readdir,
   etc. that attempts to solve would also have caused preprocessor hell.

Then I realized that the Linux xattr emulation library, which I'd used
as a reference when attempting the first solution, was shipped by default
as a system library in all builds of Haiku ... and so I could just tell
fs_attr_untyped to use the Linux xattr handler, and then link against libgnu.

So that is how I arrived at this strange and decidedly unorthodox solution
to a problem of my own creation.
2017-12-29 21:26:00 -05:00
ohnx
e6c08856dd bin/compress: Remove.
Per #10267, "Most (ported) third-party software should be removed
from the Haiku source repository."

Since HaikuPorts already has the ncompress package, this file
should no longer exist.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Original patch missed modifying the "minimum" definition and the
src/bin/Jamfile, so I took care of that.
2017-12-29 15:33:56 -05:00
Rene Gollent
16b34a8fc7 Fix FreeBSD build.
- Recent changes to the build system appear to make the assumption
  that the GNU regex APIs are universally available. This isn't the
  case on FreeBSD, which requires libgnuregex to provide that
  functionality. This broke the host keymap build.
2017-12-27 23:06:56 -05:00
Fredrik Holmqvist
73159ec931 Make UEFI boot-platform build again
gnuefi package was replaced by gnu_efi_kernel, but build
was not updated. This is guesswork, as I couldn't track down what changed.
It finds headers, headers_arch and lib and works so should be ok.
2017-12-27 18:51:30 +01:00
Augustin Cavalier
ca087b0532 build/libgnuregex: Remove.
It was needed on macOS for a time when BUrl used regexes for parsing.
Now it does not, and so we can remove libshared's RegExp from build
libshared, and thus also libgnuregex.
2017-12-24 12:27:47 -05:00
Adrien Destugues
ab75d3b5a8 Do not advertise libavdevice in ffmpeg build feature.
It is not actually used by our ffmpeg plugin.
2017-12-24 16:39:23 +01:00
Kacper Kasper
9a3c78bc4d Enable Werror for EXRTranslator. 2017-12-17 17:57:54 +01:00
Kacper Kasper
b875d6d43b Outsource OpenEXR.
* Style fixes in EXRTranslator.
2017-12-17 17:57:53 +01:00
Augustin Cavalier
19b9099b98 HaikuPorts: Bump versions of EXR libraries, again. 2017-12-17 11:13:43 -05:00
Alexander von Gluck IV
11790e14ef kernel/drivers: Kill Beceem WiMAX driver. RIP
I wrote this back in 2010 as my first driver project.

Reasons to remove it:
  * The license is GPL
  * Current WiMAX hardware is generally WIFI based.
  * It controlled the hardware, but never worked
    for network access since we need SSL certs and stuff
    which vendors weren't too open with.
  * WiMAX kind of died (at least in the US)

I left the wwan directory, it would be a nice spot
for CDMA / GSM dongle drivers.
2017-12-17 09:18:15 -06:00
Augustin Cavalier
6fc4a39b06 build/HaikuPorts: Add OpenEXR so it can be outsourced. 2017-12-16 12:51:18 -05:00
Augustin Cavalier
5e19679ea3 build: Use libroot_build on Haiku.
Previously we just used the system libroot, which of course meant
that when libroot's ABI changed, the build broke. Now we use the full
libroot_build that we do on non-Haiku platforms. The logic for "BeOS-compatible
but not Haiku" does not really apply anymore, so it has been gutted where
appropriate (and libhaikucompat has been decoupled from the build.)

The only caveat here is the change to Errors.h -- we really should be using
the system's one where I included the one from the tree, but for whatever
reason, GCC2 refused to handle the #include_next properly.

Fixes the build breakage of Haiku-on-Haiku by my prior commits (sorry).
2017-12-13 19:47:39 -05:00
Augustin Cavalier
416460cf4a HaikuPorts: Update build packages set (again).
Previous libwebp package pulled in some dependencies we didn't want.
2017-12-10 15:44:48 -05:00
Augustin Cavalier
2934d7f856 HaikuPorts: Update build packages set. 2017-12-10 14:28:26 -05:00
Augustin Cavalier
825700d34a configure: Rewrite implementation of --update.
Previously --update was kind of a hack, as it just dumped all
the variables from BuildConfig back into ./configure and attempted
to rerun from there.

Instead, now we store all of the variables and environs configure
was invoked with in the top of BuildConfig and re-call it using them.
This is much more robust, as configure will actually recompute
all of the values from the BuildConfig.

As a side effect, if configure was originally invoked to build crosstools,
it would have done so again, so instead add a check to see if they
exist, and skip them if they do. It's easy enough to delete the
directory if you want to force a crosstools rebuild.

Briefly discussed with mmlr on IRC.
2017-12-04 20:14:18 -05:00
Michael Lotz
a88944c86e bootstrap: Add missing noto package to cross repos. 2017-12-04 19:52:04 +01:00
Michael Lotz
1484b2336a bootstrap: Update cross packages for make, bash, icu. 2017-12-04 19:52:04 +01:00
Michael Lotz
22271bfdc2 bootstrap: Strip build down by removing unneeded packages.
Don't include makefile_engine, userguide, welcome, netfs and userland_fs
in the build for bootstrap.
2017-12-04 19:52:04 +01:00
Augustin Cavalier
e33d3563dc RepositoryRules: Restore mistakenly deleted local variable. 2017-12-02 18:48:21 -05:00
Augustin Cavalier
8dcb910a20 RepositoryRules: Do not use the downloaded repo.info.
Instead build the one in-tree from src/data/package_infos/. Fixes the
"HaikuPorts repos have wrong URL" problem that has occured since the
switch to buildmaster repos.
2017-12-02 18:36:26 -05:00
Augustin Cavalier
a992fe6af8 RepositoryRules: RepositoryConfig does not need/use URL now. 2017-12-02 18:29:13 -05:00
Alexander Coers
5797d59f94 ATA: Support for Highpoint HPT36x/37x PCI controller
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #13819. Some style fixes by me.
2017-12-02 11:45:57 -05:00
Augustin Cavalier
97599bfc05 build: Fix release build profile. 2017-12-01 22:28:43 +01:00
Augustin Cavalier
1f6fe0559b build: Copy and use Clang's vector intrinsics headers.
When compiling with GCC, these headers get pulled in from the
gcc_syslibs_devel package, but we cannot do something similar
for Clang as Clang adds/removes internal builtins used by
the headers nearly every version. So instead we just copy
all the intrinsics headers from current Clang into generated,
and make sure this directory is included before any others.
2017-12-01 21:16:13 -05: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
Alexander von Gluck IV
2028f6e7fa repo/arm: Correct repo url 2017-11-28 18:33:28 -06:00
Alexander von Gluck IV
5ec3b742e9 repo/arm: One more commit for good luck
* Update repository file to hardlink_packages modified one.
* Add some basic process overview to directory.
* We don't normally document in paths, but this stuff is complex.
* Documentation improvements welcome.
2017-11-28 18:20:31 -06:00
Alexander von Gluck IV
2694b5d602 repo/arm: Drop non-required missing any arch packages 2017-11-28 17:46:24 -06:00
Alexander von Gluck IV
a0c92d9e9e repo/arm: Update url to new location 2017-11-28 17:13:38 -06:00
Augustin Cavalier
08965a6568 build: Remove now-defunct jam commands. 2017-11-25 21:15:10 +01: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
36f675968e HaikuPorts: Update to point to the buildmaster repositories.
x86 is unaffected, as already mentioned. This breaks the build,
but since this diff was large, I wanted to have the functionality
changes be clear, so they are in the next commit.
2017-11-25 21:15:10 +01:00
Augustin Cavalier
174f207416 repositories/HaikuPorts: Strip the x86_gcc2 and x86_64 repos down to build deps only.
The packages that remain are only the ones used somewhere in Jam
(including ones off by default, e.g. Wonderbrush, Live555.)

The x86 repo is untouched as it is being phased out and has no buildmaster-
generated equivalent.
2017-11-25 21:15:09 +01:00
Augustin Cavalier
a9916f9b1a build/jam/BuildFeatureRules: Make EnableBuildFeatures actually work.
It was trying to use $(feature:U) outside of the loop where it is
actually set. Thanks to PulkoMandy for spotting the problem.

(How did this not break tons of stuff?)
2017-11-25 21:15:08 +01:00
Jérôme Duval
331f527e44 Update zstd packages for x86. 2017-11-25 09:21:08 +01:00
Jérôme Duval
6ac3a280f4 Add ZstdCompressionAlgorithm.
* kernel lib is decompress only (like zlib).
* expand compression_test for zstd.
2017-11-24 21:35:49 +01:00