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).
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.
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.
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.
* 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")
* 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.
* 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
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.
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.
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?)
libmedia.so was used by at least 2 apps included in the minimum image,
Activity Monitor and Deskcalc which subsequently failed to load on minimum.
Deskcalc wasn't actually using libmedia.so so I managed to get it to link and
run on minimum, however, Activity Monitor is using libmedia.so so needed it
to be present.
To fix this I added libmedia.so to the minimum image, I hope this does not blow
its size budget. (adds 1.0MB)
* Previously, the cross-compiler would generate code that doesn't
run on Haiku, particularly where TLS is concerned. It also ended
up with a c++config.h header incompatible with the version in
the native compiler.
* Now possible to correctly cross-compile rust for Haiku.
Among other fixes and more translations, there's now an "Import"
feature to merge in another catkeys file.
Handy when the en.catkeys changed and you want to import the translated
catkeys file for the previous version, which already contains the
translations for the strings that haven't changed.
Hmm... hope what I wrote there is decipherable...
No longer used by anything (it appears some old kernel drivers that
are not included in the build might use it, but I don't know why
they need it -- we already ship GPL'd code [libntfs] for the kernel
in the default build unconditionally.)
Briefly discussed with js a few weeks back.
* Remove the target-board system.
* From now on, we target generic non-x86 architectures
while leveraging fdt when needed.
* ARM mmc images will likely need some post-processing to make
them bootable on individual hardware. (This is actually how
distros like Fedora handle ARM now. The image 'writer' application
is told what hardware the image is for and adds a vendor bootloader
/ SPL / u-boot / etc)
* 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.
- hub: had an annoying problem preventing to run the script directly.
Now uses a proper "shebang" so it finds ruby.
- mako, setuptools: needed to build Mesa.
- neonlights: my favorite screensaver.
- python 3.6.
- advancemame, for arcade gaming on Haiku.
- sox and gnuplot, for various experiments.
* Hasn't been used for quite some time
* Everything was ported over to a new ATA stack
some time ago.
* No huge regressions were seen from the new ATA
stack.
* built in non-strict mode: dovecot, qupzilla, r
* build failed: intltool (dep of gcab and transmission), python_html2text, vlc,
cython (dep of pyenet)
* not built because of an unsafe source: qutim
* removed compatibility packages for giflib, icu, tiff, libpng, libwebp, libbluray,
libpcre, libvpx, ncurses, readline.
* built in non-strict mode: dovecot, qupzilla, r
* build failed: intltool (dep of gcab and transmission), python_html2text, vlc,
cython (dep of pyenet)
* not built because of an unsafe source: qutim
* removed compatibility packages for giflib, icu, tiff, libpng, libwebp, libbluray,
libpcre, libvpx, ncurses, readline.
* built in non-strict mode: dovecot, qupzilla, r
* build failed: intltool (dep of gcab and transmission), python_html2text, vlc,
cython (dep of pyenet)
* not built because of an unsafe source: qutim
* removed compatibility packages for giflib, icu, tiff, libpng, libwebp, libbluray,
libpcre, libvpx, ncurses, readline.
* built in non-strict mode: dovecot, qupzilla, r
* build failed: intltool (dep of gcab and transmission), python_html2text, vlc,
cython (dep of pyenet)
* not built because of an unsafe source: qutim
* removed compatibility packages for giflib, icu, tiff, libpng, libwebp, libbluray,
libpcre, libvpx, ncurses, readline.
* The app_server isn't designed to support two fallback drivers, so
on systems using UEFI to boot, the framebuffer driver will often
win when other drivers would likely work on those systems.
* Enables us to add an optional EFI filesystem
to the anyboot image.
* All existing anyboot behaviour is preserved.
* We still need to figure out how to build bios
and EFI loaders at the same time on x86.
* The tiny "fake ISO" still needs el-torito
alt-boot for the EFI loader to work when burned
to a CD. This makes the EFI loader work when
written to a hard disk / flash drive.
* Favorites can now be drag & dropped on apps that accept a program,
like LaunchBox - or in fact the ignore list of the Setup window.
* Favorites cannot be moved any longer in a result list, only in the
favorites list.
* When opening an app's containing folder, scroll to and select the
app.
* Fix crash due to a race condition.
* Closes issues: #14, #13, #12
BFont::Blocks is now implemented in ServerFont, via a call through the
app_server. It uses fontconfig to iterate through a charset of a font
and stores the defined blocks in a bitmap.
A new API was added, BFont::IncludesBlock, that will allow for arbitrary
testing of a given Unicode block. Since nothing is cached, searching
through an entire charset for a series of Unicode blocks can be quite
slow. In a given block there may be only 1 or 2 characters actually
defined so every character within a block needs to be checked until one
is found, which in a degenerate case will mean the entire block is
checked.
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
We bundle bitstream charter as a default font to use when nothing else
is available. We also used to bundle a Courier font, but it does not
work properly.
- Fix the license for Bitstream Charter, to include just the license and
no extra text.
- Add said license to AboutSystem
- Remove the Courier font from the package and from the source tree.
Fixes#11696.