-nostdlib disables that for executables although it should be enabled by
default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25785 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Minor cleanup of ide_isa, and generic_ide_pci (removed wrapper.h).
* Added ide_isa back to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25755 a95241bf-73f2-0310-859d-f6bbb57e9c96
either, it just hangs there trying ot connect and eventually times out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25751 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added legacy_sata and scsi_cd back to the image.
* Minor cleanup in scsi_disk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25739 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed scsi_dsk to scsi_disk.
* Joined all scsi_disk sources together to a single scsi_disk.cpp file.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25737 a95241bf-73f2-0310-859d-f6bbb57e9c96
packages. Print an error message for unavailable packages.
* Detect the build of a GCC2/GCC4 hybrid image and install GCC2 packages
on a GCC4 build where no GCC4 package is available. I did not test
every GGC2 package on a GCC4 build, though I have not found any that
does not work. If a package gives problems, feel free to disable it
for the hybrid build or send me a note.
* Add new optional package for Beam. Though I could not test it since,
SATA AHCI does not work for me ATM. I know that Beam 1.1 for BONE is
unable to retrieve mails (times out). Maybe the R5 version has better
luck, will check later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25695 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed std_ops(), as it wasn't used for anything, and is optional in Haiku.
* ide_isa, and legacy_sata are still waiting for the same set of changes :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25678 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved devfs from fs/ to device_manager/, and separated the legacy driver
support from it.
* Removed fast_log module.
* There are a couple of (temporary) regressions, though:
- legacy SATA and ISA IDE support is disabled, the drivers haven't been
ported yet.
- The not yet used ATA bus manager hasn't been ported yet, either.
- AHCI changes have not been tested.
- the listdev command has been removed from the build (as it currently
doesn't work anymore).
- device manager generated IDs currently are not freed anymore when a device
node is removed.
- generic drivers can't yet use the new driver architecture.
- simple busses that do not support device types won't work yet.
- legacy driver publishing/unpublishing (ie. what USB needs) has not been
tested, and may be broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25662 a95241bf-73f2-0310-859d-f6bbb57e9c96
Gerald Zajac. Thanks a lot!
* Also put it on the image by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25583 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the pthread_cond_t internals public. This is necessary to support
process shared condition variables. Fixed initializer macro.
* Made the pthread_rwlockattr_t structure opaque.
* pthread_t is no longer typedef'ed to int. It's the pointer to the
internal _pthread_thread structure.
* Removed __get_pthread(). pthread_self() can be used instead.
* No longer tunnel the pthread exit value through Haiku's thread exit
value. We do have a separate field in the _pthread_thread structure
for it, now.
* Handle detaching of threads correctly.
* pthread_rwlockattr_{g,s}etpshared() use the
PTHREAD_PROCESS_{SHARED,PRIVATE} constants, now.
* Commented out yet unsupported structures (barriers, spinlocks).
* Rebuilt APR optional package. The pthread changes weren't binary
compatible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25582 a95241bf-73f2-0310-859d-f6bbb57e9c96
* made the output easier to observe
* added the sigsuspend_6-1 test to the package
* made the fork_3-1 test return when it fails
* added output to the pthread_once tests
* other minor cosmetic changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25567 a95241bf-73f2-0310-859d-f6bbb57e9c96
pointer also contains the toggle carry and the halt bit (which was obviously
always set as the endpoint had an error) the address comparison failed and
the head was dead in the water with all further transfers timing out until
a subsequet cancel cleaned the mess up again.
* Add the OHCI host controller driver to the image as it should now be fully
functional except for isochronous transfers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25565 a95241bf-73f2-0310-859d-f6bbb57e9c96
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".
If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".
Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25536 a95241bf-73f2-0310-859d-f6bbb57e9c96
the targets/symlinks added to a container/Haiku image directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25535 a95241bf-73f2-0310-859d-f6bbb57e9c96
compatible with what our code assumed (pointers to objects of
TraceEntry and its POD base class trace_entry aren't identical
anymore).
* Added optional stack traces for ktrace_printf() output in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25531 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a new command line utility "mkfs" which can initialize a given volume
with a file system by it's short name via the new Disk Device API.
Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25491 a95241bf-73f2-0310-859d-f6bbb57e9c96
- fix build (at least CodyCam), NETAPI lib is now libnetapi for Haiku...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25488 a95241bf-73f2-0310-859d-f6bbb57e9c96
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The built-in services are no longer added as resource to libnetwork,
but as attribute. This removes the libbe dependency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25485 a95241bf-73f2-0310-859d-f6bbb57e9c96
AddLicenseToHaikuImage that can be used in optional package definitions
to add a copyright entry in AboutSystem and add a license file to
/etc/licenses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25313 a95241bf-73f2-0310-859d-f6bbb57e9c96
(just "sshd"), ATM. Not sure how we want to deal with daemons, yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25311 a95241bf-73f2-0310-859d-f6bbb57e9c96
a bit:
* Added directory /etc/post_install, which can contain scripts that will
be executed on the first boot.
* Moved the mimeset invocations to such a script. Use the "-apps"
option instead of "-all". Since create_app_meta_mime() (and thus
mimeset) work recursively now, running the commands does actually have
an effect.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25309 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Prepend "ahci port" to all trace entries in ahci_port.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25293 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Added controller attribute to the AHCIPort class for debugging purposes.
AHCI is failing whenever the PRD table has an address above the 2048 Mb mark.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25291 a95241bf-73f2-0310-859d-f6bbb57e9c96
block would be incorrectly addressed when allocating a stream - this could
cause random blocks to be overwritten, and therefore could cause many sorts
of problems.
* Moved BFS_TRACING macro to the tracing_config.h file, and let it follow the
new semantics of those other macros in there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25249 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Introduced the TCP_TRACING macro in tracing_config.h.
* Enlarged the default trace size to something a tiny bit useful (but still
acceptable for systems with little RAM).
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25235 a95241bf-73f2-0310-859d-f6bbb57e9c96
* cache paranoia was always enabled.
* Changed from paranoia on/off to levels. Adjusted the macros to take a
level argument.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25215 a95241bf-73f2-0310-859d-f6bbb57e9c96
defined/undefined to numeric values (0 for undefined). This allows for
trace levels.
* Set SYSCALL_TRACING_IGNORE_KTRACE_OUTPUT default to 1, since this is
what one usually wants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25213 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added "mode" parameter to set_paranoia_check(), which specifies
whether the check is supposed to already exist/not exist yet. This
allows for, as it turns out, very useful additional tests. Added
{ADD,UPDATE}_PARANOIA_CHECK macros that imply the used "mode"
parameter.
* PARANOIA_SLOT_COUNT was accidentally redefined in the source file.
* Fixed remove_paranoia_check(). It didn't remove anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25207 a95241bf-73f2-0310-859d-f6bbb57e9c96
We're a bit limited since that increases the kernel size the boot loader
needs to reserve. We should probably make that configurable as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25206 a95241bf-73f2-0310-859d-f6bbb57e9c96
paths by default, but I guess we want to keep it that way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25137 a95241bf-73f2-0310-859d-f6bbb57e9c96
setting to force BLockers to be semaphore style. This may help with
debugging deadlocks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25096 a95241bf-73f2-0310-859d-f6bbb57e9c96
value range propagation optimization results in broken code with the GCC4
version we are currently using. Added TODO to retest/remove this flag when we
update our GCC4 compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25054 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Whenever unzipping a zip archive to the image, we do first check, if
it contains an .OptionalPackageDescription file. If so, its contents
is appended to AboutSystem's "COPYRIGHTS" attribute, which will cause
the respective info to be shown in the about view.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25050 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also removed the header files that belong to those files.
* Only kept the userland_ipc.h header for now, to remember us about the
former userland server driver (that I also removed - it can always be
resurrected from SVN if needed).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25045 a95241bf-73f2-0310-859d-f6bbb57e9c96
again. I'm not totally sure why that is, but the set-uid permission kept
disappearing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25036 a95241bf-73f2-0310-859d-f6bbb57e9c96
new filesystem interface.
* Renamed sISO* to gISO* though as they are in fact not static.
Briefly tested and works as expected. Thanks for your work Dustin!
Closes enhancement #2089.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24994 a95241bf-73f2-0310-859d-f6bbb57e9c96
was, thanks to the detailed instructions from Ingo, quite doable.
* Ported the (deprecated and now publically removed) notify_listener() calls
to the respective new notify_* calls.
* Fixed debug build.
* Added the FAT filesystem back to the image.
I only tested the filesystem briefly and everything seemed to work as expected
(mounted the FAT part of my bootable Haiku memory stick, opened a few files
and copied something to it). At least it should not be any more broken than
before the interface changes ;-).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24987 a95241bf-73f2-0310-859d-f6bbb57e9c96
suites and the like, and moved the image jam code for PosixTestSuite
and libMicro there.
* Some cleanup (line length, use grist).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24970 a95241bf-73f2-0310-859d-f6bbb57e9c96
and then copy it in one go instead of copying individual files. Also use
a single temp file instead of one for every entry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24968 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added sunos to the list of platforms, but it needs more work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24922 a95241bf-73f2-0310-859d-f6bbb57e9c96
- The net_stack driver is no longer used. Instead we have a kernel
module which is directly used by syscall implementations in the
kernel. I.e. we no longer tunnel those functions through ioctls, but
have normal syscalls.
- Removed the superfluous net starter module.
- Implemented the FDTYPE_SOCKET type file_descriptors, that is sockets
are no longer vnode based.
- Adjusted libnetwork (the socket function implementations)
accordingly.
- Adjusted netstat accordingly.
* Socket module:
- Implemented socketpair().
- Added "kernel" parameter to the control hook. Quite a few more hooks
would actually need the parameter, but I didn't change those yet,
since that would probably also require changes to the protocol
module interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24908 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Moved most file_system_module_info hooks into separate structures.
Those that operate on mounted volumes to fs_volume_ops, those
operating on a vnode to fs_vnode_ops.
- Got rid of the fs_volume, fs_cookie, fs_vnode typedefs. We use void*
again.
- Instead of a void* volume and node cookie hooks are passed a
fs_volume and fs_vnode structure pointer, which contain the cookie
and an ops pointer (fs_volume a few more things).
- The VFS {new,publish,get,...}_vnode() functions take a fs_volume*
instead of the volume ID. So does vfs_get_fs_node_from_path().
- Added type and flags arguments to publish_vnode() and the
get_vnode() hook and removed the type argument from lookup() hook.
Added vnode::type using formerly unused bits to store the node type.
Simplified a few things in the VFS due to the now always available
node type.
- Added fs_volume_ops::{create,delete}_sub_vnode() and
fs_vnode_ops::get_super_vnode() hooks. They are used to support file
system layers, e.g. allowing to extend an FS not supporting BeOS
attribute with attribute support. Needs some more work in the VFS.
- Added fs_vnode_ops::create_special_node() hook for creating special
nodes (e.g. FIFOs).
* Adjusted the built-in file systems and BFS according to the interface
changes. Removed all other FSs from the image for the time being.
We'll see whether further API changes are necessary before porting
them.
* Adjusted the bfs_shell accordingly.
* Implemented create_special_node() in rootfs to support special nodes.
* Added support for FIFOs:
- Added syscall _kern_create_fifo() (used by mkfifo()), which creates
a special node (type S_IFIFO) in the respective file system.
- When a special node is published the VFS creates a respective sub
node. Currently only FIFOs are supported.
- Added a little support for FIFO subnodes by using functionality from
the pipefs.
- Added mkfifo to the image. It can create FIFOs in the rootfs, but
the FIFOs aren't really usable ATM, since they still work like
pipes, i.e. readers and writers need to have them open at the same
time.
* Some smaller changes in the VFS:
- Made the *_CALL macros nicer to use (vargs).
- Refactored FS entry lookup into new function lookup_dir_entry().
- create_vnode() no longer just calls the FS create() hook. First it
looks up the entry and uses open_vnode(), if it already exists. This
is necessary for two reasons: 1) The FS might not support create()
while still allowing to open() entries. 2) When the FS has other
layers on to of it (or the respective node) it might not be
responsible for opening the node.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24816 a95241bf-73f2-0310-859d-f6bbb57e9c96
Haiku. Support for undefined symbols is nice in principle, but not
really needed for building Haiku itself, and can get little annoying, if
one really just forgot to link in a symbol or has a typo in a function
name in C code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24814 a95241bf-73f2-0310-859d-f6bbb57e9c96
by default (new option "-H" will create the header only). Option "-c"
will clear the image.
* Adjusted build_haiku_image accordingly. vmdkimage is way faster and
more portable than the former vmdkheader+dd combo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24784 a95241bf-73f2-0310-859d-f6bbb57e9c96
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96
TODO:
- Implement/integrate low level stuff (see BootDrive.h)
- reading the partition table
- reading/writing the MBR
- writing the boot menu
- Open file dialog for selection of backup MBR file
- Write error message in case of I/O errors
- Test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24689 a95241bf-73f2-0310-859d-f6bbb57e9c96
- fixes off by one pixel bug reported by stippi.
- fixes Unicode option to use UTF-8 instead of UTF-16.
- compiled within Haiku using new Development package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24685 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added additional parameters to DeferredSubInclude. It's now possible
to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
inclusion of HaikuImage, NetBootArchive etc., so that targets defined
in the subdirectories are already known there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Added a "root" vnode to the io_context. It is used for resolving
paths and converting nodes to paths instead of sRoot. Some more
passing around of io_context structures was necessary.
- Introduced a new lock sIOContextRootLock to protect
io_context::root. The current uses of io_context::io_mutex
(put_vnode(), remove_vnode() while holding it) looked too suspicious
to use that mutex in vnode_path_to_vnode().
- Added _kern_change_root() syscall and chroot() libroot function.
- Added chroot coreutils program to the image. Funnily it seems to be
much easier to set up a little jail than under Linux (just copy
bash and libroot.so into respective subdirs; mount another pipefs
if you want pipe support).
With Haiku allowing direct access to directories via inode IDs
jailing is obviously not very secure at the moment.
- Added /var/empty to the image. It will be the chroot target for ssh.
* Changed vfs.cpp:get_cwd() so that the io_context::io_mutex is no
longer held when calling dir_vnode_to_path().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24673 a95241bf-73f2-0310-859d-f6bbb57e9c96
and sorted definitions alphabetically.
* Updated Pe package to 2.4.1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24659 a95241bf-73f2-0310-859d-f6bbb57e9c96
optional packages, i.e. installing one will install all its
dependencies, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24658 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Simplified the addition of the libpng and zlib headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24656 a95241bf-73f2-0310-859d-f6bbb57e9c96
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
specifying the name of the header directory on the image.
* Renamed the "gnu" header directory on the image to "3rdparty" and
created a "gnu" symlink for compatiblity.
* Added zlib and libpng headers to the "3rdparty" header dir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24600 a95241bf-73f2-0310-859d-f6bbb57e9c96
directory to the image. It supports exclude patterns.
* Changed Add{Source,Header}DirectoryToHaikuImage to use the
CopyDirectoryToHaikuImage rule. The special handling in the
build_haiku_image script is gone now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24586 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Extended the Development optional package. It will now also install
gcc/binutils as well as autoconf, automake, libtool, texinfo (and
their dependency perl).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24567 a95241bf-73f2-0310-859d-f6bbb57e9c96
suffix or otherwise package names with dots in them would be mangled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24566 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Install libncurses.a.
* Copy the cpp headers from our repository; don't use the compiler
headers. This needs some more shuffling around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24543 a95241bf-73f2-0310-859d-f6bbb57e9c96
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.
Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24542 a95241bf-73f2-0310-859d-f6bbb57e9c96
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
- Added build tool rm_attrs, a simple "rm" replacement, which also
removes the attributes directory for a given file.
- Added build/scripts/rm_attrs shell script, which wraps the
invocation of the rm_attrs tool. If it doesn't exist yet, the
ordinary rm is used.
- The RM jam variable refers to the rm_attrs script now, i.e. whenever
something is removed by the build system, the attributes are removed
too (if the build tool has already been built, that is).
- Removed the shell function attrrmrf() in build_haiku_image. We use
the rm_attrs tool instead, if necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also install _G_config.h.
* /boot/develop/headers/cpp is a symlink to g++'s headers, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24523 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This allows you to use a GCC compiler completely with native headers,
all you have to do (after having unpacked and moved GCC to the correct
location), is to replace its "lib/gcc-lib/i586-pc-beos/2.95.3-beos-060710/include"
directory with this one. There is no need for R5 headers anymore,
then.
* Removed extraneous whitespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24469 a95241bf-73f2-0310-859d-f6bbb57e9c96
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.
* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
the headers of the gcc 2.95.3's we use to compile Haiku with. Should
avoid build problems with the BeOS native compiler.
For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24413 a95241bf-73f2-0310-859d-f6bbb57e9c96
hack math_huge_val_ifndef does, anyway. We do it ourselves and remove
the therefore superfluous gcc math.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24412 a95241bf-73f2-0310-859d-f6bbb57e9c96
change resulted in "version mismatch between boot loader and kernel". So
apparently the size of some type changed unintentionally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24408 a95241bf-73f2-0310-859d-f6bbb57e9c96
under Haiku overrides ours anyway.
* Adjusted size_t.h, wchar_t.h, wchar.h accordingly. This should fix the
annoying "ssize_t redefined" warnings when compiling under Haiku.
* When building Haiku the gcc headers come first in the include
search path now, as it should be. The respective TODO suggested that
this might break the build depending on compiler version and host
platform. I've tested with Linux gcc 2 and gcc 4, which work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24406 a95241bf-73f2-0310-859d-f6bbb57e9c96
uncommented the meaty lines again. Added one or two more explaining
sentences.
* Created a concise UserBuildConfig.sample with very few comments and
only the most interesting (commented out) example lines for those
people who don't read the UserBuildConfig.ReadMe.
I hope everyone can live with this solution.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96
* reordered addons alphabetically like we do for all plugins
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24349 a95241bf-73f2-0310-859d-f6bbb57e9c96
works fine without those, the keymap file will be generated.
* Supplied the removed lines as example in UserBuildConfig.sample for how
to supply these settings during image generation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24298 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added VLC optional package. (I repackaged the latest BeBits version and
put it on www.yellowbites.com, which is a) much faster to download at
least from Germany and b) has the Haiku vector icon.)
* Exchanged the Pe package for a recent SVN build which also has the Haiku
vector icon.
Going to test all these changes on a Linux host soon, seems to work fine
on a BeOS host.
NOTE: The WonderBrush package has gotten a silent update, it includes the
icon in the resources now too, like the other packages with Haiku icon and
also fixes a problem in the Navigation view.
NOTE 2: The build system does not download packages again if generated/download
already contains a .zip with the name of the optional package. So you need
to delete those to get the recently updated Vision, Pe and WonderBrush
packages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24291 a95241bf-73f2-0310-859d-f6bbb57e9c96
built directly out of Haiku's build sys, which is to say against haiku's
headers, etc. directly, and b) includes Stephan's HVIF icon (thanks!).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24289 a95241bf-73f2-0310-859d-f6bbb57e9c96
Either app_server doesn't start it, or it exits right away...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24262 a95241bf-73f2-0310-859d-f6bbb57e9c96
/boot/home/config/settings.
* The Bootscript will check for the existance of this file and updates the
mime database with all the applications and preflets that come with the
install. Then it removes the indicator file.
This fixes the problem that all the apps are not known to the system until
you run them once. Ie "Open With..." and such stuff works out of the box.
Feel free to find a more elegant way, I just found this simple and effective.
:-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24247 a95241bf-73f2-0310-859d-f6bbb57e9c96
UserBuildConfig the user just have to uncomment whatever he/she wants. This
is easier than commenting out almost everything.
- Added entries for Pe and Links optional packages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24240 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added legacy_sata just in case.
At least now qemu finds the bfs track and tries to run Bootscript, but I get loads of ide timeouts so it ends up panicing anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24224 a95241bf-73f2-0310-859d-f6bbb57e9c96
putting the network "services" config file at the wrong place.
* Removed some dead code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24118 a95241bf-73f2-0310-859d-f6bbb57e9c96
Do not attempt to install optional 3rd party packages when building
a GCC4 version of Haiku. I think there has been some discussion on this
topic before, with a more advanced solution, but for the time being, this
should be ok.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24087 a95241bf-73f2-0310-859d-f6bbb57e9c96
directories. Note that you need an updated "sed" (from the Haiku
repository) if you want to use that rule.
* The "Development" optional package now installs the Haiku headers
needed to build stuff (ie. "os", "gnu", and "posix"). It also makes
a symlink "be" so that we can still use the BeOS compiler with its
builtin header paths.
* Fixed AddVariableToScript for older shells that do not support '+='.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24058 a95241bf-73f2-0310-859d-f6bbb57e9c96
entire screen when exiting the kernel debugger. It sets up a thread that sends
a message to the (currently hardcoded) desktop message looper. The desktop then
does mark the whole screen dirty which causes a full redraw.
Since interrupts need to be enabled I went with an asynchronous thread and
releasing a request sem in the add-ons' exit hook.
Added the add-on to the image as it shouldn't hurt to have it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24025 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed the way the VMware image is built. Instead of creating a normal
image first and then adding vmdk header and that image, we create the
VMware image in one go, now. Therefore "jam update-vmware-image ..."
does now actually update the VMware image directly, instead of updating
the normal image and recreating the VMware image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23972 a95241bf-73f2-0310-859d-f6bbb57e9c96
(P5W-DH motherboard have two of those gigabit ethernet controllers),
seems to work fine.
* Add libglut.so alias to the development libs symlinks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23902 a95241bf-73f2-0310-859d-f6bbb57e9c96
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96
* NetBootArchive still used "agp"; replaced it with agp_gart, and added the
Intel GART module as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23873 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added it to the image, and configured it to be used.
* Currently, it cannot transfer files over 64 KB for some reason
("Message too long").
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23843 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added explicit example for enabling debugging for a subtree.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23818 a95241bf-73f2-0310-859d-f6bbb57e9c96
one has actually been compiled on Haiku and uses better network options, since
it uses BONE headers. On Rene's machine, this version is running since 2.5
days under Haiku. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23795 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It now also serves as a generic GART manager and accepts bus modules as well
as custom modules of graphics drivers if they want to (could be used for the
Radeon PCI GART stuff, for example).
* Implemented GART support module for Intel i965 and G33 chipsets (the other
Intel chips will come later).
* Renamed agp bus manager to agp_gart to reflect its new functionality (even
though the AGP functionality is already outdated (due to PCIe), the GART
stuff remains current).
* Adapted existing users of the AGP bus manager to the API changes.
* Not very well tested yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23754 a95241bf-73f2-0310-859d-f6bbb57e9c96
having these
* added DriveSetup to the image
* added optional package Pe, enable it in your UserBuildConfig
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23670 a95241bf-73f2-0310-859d-f6bbb57e9c96
the root of the source tree. Added a work-around that should fix the
problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23544 a95241bf-73f2-0310-859d-f6bbb57e9c96
You know, moving stuff out of your way just because they don't work won't fix them...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23522 a95241bf-73f2-0310-859d-f6bbb57e9c96
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
the assembly handler which now uses a jump table to call C functions
handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
rare events (signals, user debug enabling/disabling) on the
common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
common functions (currently memcpy() only). They are used in the
kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
member offsets in assembly code.
Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
(caused by refactoring and introduction of "call" debugger command).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added pthreads posix test suite tests to run script and image.
* Improved output for said tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23002 a95241bf-73f2-0310-859d-f6bbb57e9c96
Hope having both doesn't do nasty things on gcc2 builds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22996 a95241bf-73f2-0310-859d-f6bbb57e9c96
After copying the mime db or packages the files were removed, but not the corresponding attribute storage files.
So when an inode got reused the file inherited those leftover attributes.
We now remove them before removing the files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22940 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The POSIX test suite is copied to the image when the jam variable
HAIKU_ADD_POSIX_TEST_SUITE_TO_IMAGE is defined (cf. UserBuildConfig.sample).
* Added difftime and fork tests to the test suite run script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22907 a95241bf-73f2-0310-859d-f6bbb57e9c96
it to HOST_LIBSUBC++. Now it should be possible to remove HOST_LIBSTDC++
from the library list for build tools which don't use the STL -- it had
been added due to the Darwin peculiarity in the first place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22773 a95241bf-73f2-0310-859d-f6bbb57e9c96
a while ago that removed the incorrect automatic addition of Haiku header
directories in case of targets other than "haiku". The app server test
environment does now almost build again. The problem left is related to the
recent changes of the accelerant interface. I suppose someone in the knows
should decide if we can simply use our header or if special handling is
needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22630 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added an inputrc to the image that should have the same effect as the recent
bash readline default changes for other apps that use readline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22553 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Changed ResAttr rule to allow not deleting the file before writing the
attributes.
* Added application signatures for the runtime_loader and zbeos, just so that
they may have an icon, too (hint, hint) :-)
* As a side effect, this also let's FileTypes handle these two as apps (even
though they aren't), so that I can close bug #606.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22412 a95241bf-73f2-0310-859d-f6bbb57e9c96
already exist, it won't be zeroed out. The image will still be
initialized with BFS, though. Handy for installing Haiku on a partition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22397 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use the new ComplexLayouter for the more complex layouting tasks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22335 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made use of qoca opt-in. You have to set the jam/environment variable
LAYOUT_CONSTRAINT_SOLVER to "qoca" to do that. Unfortunately it turned
the latest version of qoca is GPL (only earlier version were LGPL; the
license included in the downloadable archive was misleading), so we can't
use it. Complex layouts constraints that would require constraint solver
support are ignored until I've found a replacement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22235 a95241bf-73f2-0310-859d-f6bbb57e9c96
HaikuImage and enabled individually using the
AddOptionalHaikuImagePackages rule or all at once by setting
HAIKU_ADD_ALL_OPTIONAL_PACKAGES. In principle an optional package can
be any kind of addition to the Haiku image, but usually a zip file will
be downloaded from somewhere and unzipped onto the image. I've added a
WonderBrush package as an example.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22184 a95241bf-73f2-0310-859d-f6bbb57e9c96
to do that is UnzipArchiveToHaikuImage. Cf. UserBuildConfig.sample for
a usage example.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22173 a95241bf-73f2-0310-859d-f6bbb57e9c96
being copied onto the image even when updating only and alwaysUpdate
unspecified.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22118 a95241bf-73f2-0310-859d-f6bbb57e9c96
for three different levels (from "Very Easy" to "Hard"). Have fun!
* Feel free to do a nicer icon!
* Stack.h is actually verbatim copy of a kernel header which we might want
to move to a more public place (like shared).
* ProgressWindow is taken from ShowImage, but adapted to suit different
needs.
* It seems to trigger a bug in the interface kit or app_server: when moving
the mouse around, the right border of a field is sometimes lost. This
does not happen in BeOS, and there is actually no code that looks responsible
for this - it might be an off by one error in the region code, though?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22056 a95241bf-73f2-0310-859d-f6bbb57e9c96
It is loaded on boot, and the SCSI bus manager tries to scan its bus which
of course fails at the moment. Hope that helps :-)
* Moved the driver to its new location; it's a SCSI bus controller, so it
should be placed in busses/scsi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22048 a95241bf-73f2-0310-859d-f6bbb57e9c96
configure flag "--use-32bit" enabling 32 bit builds with a 64 bit host
compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22046 a95241bf-73f2-0310-859d-f6bbb57e9c96
- module name didn't have the "/device_v1" suffix (which is used to
differentiate device modules, as they can be everywhere in the path).
- ahci_get_supported_paths() now tells the device manager that it
exports a PCI disk device.
* Moved ahci out of the "scsi" sub-directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22041 a95241bf-73f2-0310-859d-f6bbb57e9c96
* boots Haiku successfully on 2 different test boxes here
* no longer screws up when trying to write to PCI config space :)
* Supports nVidia nForce chipsets
TODO:
* Make 4 channel SATA controllers work (currently only recognizes first 2)
* SATA PHY initialisation (needed for some BIOSes who might not do it)
Feel free to test this, and assign any problems with this driver to me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21949 a95241bf-73f2-0310-859d-f6bbb57e9c96
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
as all directories that might be needed by private kernel headers (arch,
platform,... headers).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21872 a95241bf-73f2-0310-859d-f6bbb57e9c96
of the host platform. The libtracker Jamfile seems to be the only one that
needs another exception.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21827 a95241bf-73f2-0310-859d-f6bbb57e9c96
added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21795 a95241bf-73f2-0310-859d-f6bbb57e9c96
computed as '.' which resulted in output path ending with '/.', causing mkdir to choke.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21778 a95241bf-73f2-0310-859d-f6bbb57e9c96
AddDirectoryToHaikuImage with attributes does also work for directory
names with spaces now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21761 a95241bf-73f2-0310-859d-f6bbb57e9c96
(or rdef) files which will be converted to attributes and added to the
installed directory. Adjusted build_haiku_image script accordingly.
* Added directory data/image_directories, which is where the resource
files for the directories attributes shall be stored. As naming
convention I suggest using the target directory path with slashes
replaced by hyphens, e.g. home-config-bin.rdef for home/config/bin.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21711 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added ResAttr rule, which converts resource (or rdef) files to a
file with attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21708 a95241bf-73f2-0310-859d-f6bbb57e9c96
manager, some drivers).
* Commented out nbd for the time being and added remote_disk.
* Consequent use of boot links.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21604 a95241bf-73f2-0310-859d-f6bbb57e9c96
generates a C source file defining an array variable containing the file's
data. DataFileToSourceFile is the respective jam rule.
The idea is to directly built the boot archive into the boot loader for
network booting (and thus avoiding to download it from somewhere). In
case of PXE this doesn't work, though, due to restrictions to the size
of the NBP. Maybe Open Firmware is less restrictive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21602 a95241bf-73f2-0310-859d-f6bbb57e9c96