History log of /haiku/src/add-ons/kernel/file_systems/ramfs/Jamfile
Revision Date Author Comments
# b89f1199 24-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Rewrite Query system to use the common Query parser-evaluator.

The common version was also derived from BFS' original implementation,
but was genericized during packagefs development, and has more recent
fixes and additions.

Only lightly tested, but arbitrary-attribute-indexed queries seem to be
working just fine.


# cbc07268 31-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Overhaul block allocation to use a VMCache and physical pages.

This is a massive efficiency improvement as well as a large address
space usage savings. It also paves the way for file_map() support...


# 91c86377 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Drop OpenTracker OpenHashTable and the custom AreaUtils.

Following removal of NodeChildTable, they aren't used.


# c3e0275c 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Adapt to current kernel FS APIs and fully fix the build.


# a41d815c 22-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

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.


# 6f7fc220 07-Mar-2016 Axel Dörfler <axeld@pinc-software.de>

NodeMonitor: Added B_WATCH_CHILDREN flag.

* Added a directory argument for notify_{stat/attribute}_changed().
* This allows to watch only a directory, and get the notifications for
all of its files, not just add/remove entry notifications.


# 220d0402 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# c864ba1a 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# aa085ffe 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed UserlandFS shared Locker class. Instead use BLocker in userland and
RecursiveLock in the kernel.
* Several adjustments according to UserlandFS header changes.
* Re-added reiserfs to image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ad9efd6 11-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the AVLTree implementation and used the kernel utils version
instead. Quite a few changes to account for the different interfaces.
The add-on size dropped from 438 to 302 KB, which is still quite heavy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21893 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5f1b588 02-Aug-2007 Jérôme Duval <korli@users.berlios.de>

removed redundant TARGET_GCC_LIBGCC


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21799 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53b742e1 02-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Define debug output prefixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20520 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 446ce41f 07-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Build RamFS for the Haiku kernel. Seems to work fine. Also fixed some
warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 224e7c42 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Mmh, apparently I have to check the copied directory itself in first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20345 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 220d04022750f40f8bac8f01fa551211e28d04f2 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# c864ba1a2d8525aeabd6199c01675f70f5abd7bd 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# aa085ffef993707b59f861a32404f1fca50055e9 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed UserlandFS shared Locker class. Instead use BLocker in userland and
RecursiveLock in the kernel.
* Several adjustments according to UserlandFS header changes.
* Re-added reiserfs to image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ad9efd6715d9b27c1517b3fb1425772b894c3bb 11-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the AVLTree implementation and used the kernel utils version
instead. Quite a few changes to account for the different interfaces.
The add-on size dropped from 438 to 302 KB, which is still quite heavy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21893 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5f1b58811118a8b5c39f5766003096e5860af09 02-Aug-2007 Jérôme Duval <korli@users.berlios.de>

removed redundant TARGET_GCC_LIBGCC


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21799 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53b742e1bb24dee572cb1448e4b4678d66dcdfe9 02-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Define debug output prefixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20520 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 446ce41f3670d66ed17dfcc400d6e9cbb669ea8d 07-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Build RamFS for the Haiku kernel. Seems to work fine. Also fixed some
warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 224e7c42697a7425059175c74edb62e706477d52 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Mmh, apparently I have to check the copied directory itself in first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20345 a95241bf-73f2-0310-859d-f6bbb57e9c96