ported software:
* If the macro B_USE_POSITIVE_POSIX_ERRORS is defined the POSIX error code
constants (ENOMEM, EINTR,...) will have positive values.
* Introduced the macros B_TO_{POSITIVE,NEGATIVE}_ERROR() which do convert a
given error code to a positive/negative value.
* Added static library libposix_error_mapper.a that overrides all POSIX
functions (save the ones I forgot to add :-)) directly meddling with error
codes (having them as parameter or returning them) dealing with the
positive<->negative error code conversions. The functions have hidden
visibility, so they affect only the shared object they are linked into.
* So ideally all one has to do is to build a ported software with
-DB_USE_POSITIVE_POSIX_ERRORS and -lposix_error_mapper and be good with
respect to error code problems.
* Potential issues:
- When mixing ported and Haiku native code, i.e. using Haiku native code in
a ported software or using a ported library in a Haiku native application
care must be taken to convert error codes where the two interface. That's
what the B_TO_{POSITIVE,NEGATIVE}_ERROR() macros are supposed to be used
for.
- A ported static library can obviously not be linked directly against
-lposix_error_mapper. The shared object linking a against the ported static
library has to do that. The previous point applies when that causes mixing
with Haiku native code.
- When dependent ported libraries are used probably all of them should use
the error mapping.
Comments welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29653 a95241bf-73f2-0310-859d-f6bbb57e9c96
which auto-generates dependencies. It was written by Lars Duening for BeOS
and uses libglob, which is also part of make. To re-use libglob and since
make is already part of the Haiku tree, I added mkdepend to the bin tools.
* Added Lars Duening's copyright to AboutSystem.
* Added skeleton makefile and makefile-engine to data/develop.
* Added mkdepend and makefile-engine files to the Development optional package.
It could be argued to move the make bin command there too, from it's current
location in the HaikuImage file. However, make could be useful to always
have available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29609 a95241bf-73f2-0310-859d-f6bbb57e9c96
--alternative-gcc-output-dir configure option has been specified,
HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29607 a95241bf-73f2-0310-859d-f6bbb57e9c96
headers in the right places (/boot/common). I made it depend on the Development
package, since without it it wouldn't be useful. It also refuses to install on
a GCC4 based Haiku, since it's intended to help building some popular
BeOS/Haiku software, and there you couldn't link against GCC2 libs I suppose
when you have GCC4 development tools.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29451 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Pe - 2.4.1 built in Haiku gcc2
- BeZillaBrowser -- built in Haiku gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29420 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
* Check the first argument for "help" as well. If given print a somewhat
helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
Closes ticket #3333.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29298 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added debugger commands to resolve usb_ids to pipes.
* Adjusted the physical memory allocator to be usable in a slimmed down mode
when running inside the kernel debugger.
* Implemented USB keyboard support for KDL through a kernel debugger add-on.
* Added kgetc() and made use of it where previously individual methods were used
to ensure that reading characters always goes through the kernel debugger
add-ons and the other methods.
This has some preconditions to meet though:
1) The keyboard must be in the boot protocol (currently the case but needs to
be revisited once we have a full usb_hid).
2) The keyboard must be attached to a UHCI root port (i.e. not use EHCI or OHCI,
also not through hubs unless those are USB 1.1).
3) the usb_hid driver has to be opened for this to work. This means that for the
time between initializing USB and when usb_hid is opened by the input_server
there is no keyboard support.
Also note that this has no way of detecting hot-plug, meaning that you can't
re-attach your USB keyboard from the hub to the root port once in KDL.
On the bright side of things, since this is a non-destructive mechanism it is
possible to enter and leave KDL without loosing the USB state.
Tested OK in QEMU, not tested on real hardware yet, will see in a few minutes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29291 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add attribute_overlay and write_overlay to the image/floppy instead.
* Mount a iso9660 boot volume with both write and attribute overlay for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29261 a95241bf-73f2-0310-859d-f6bbb57e9c96
Therefore we switch to building a 2.88 floppy image in that case so it's at
least usable to build a bootable CD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29211 a95241bf-73f2-0310-859d-f6bbb57e9c96
what we want.
* Remove some more temporary files/directories after the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29209 a95241bf-73f2-0310-859d-f6bbb57e9c96
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29203 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When booting from an iso, mount the boot volume with the overlay layer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29202 a95241bf-73f2-0310-859d-f6bbb57e9c96
By default it now presents a relatively concise list of USB
devices found on the bus, with an optional -v flag to dump
exhaustive detail. It still also takes an optional device
parameter in case you only want information for a particular
device.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29185 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also don't install the GCC2 package on a GCC4 based hybrid, as it's again not
usable without proper manual setup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29160 a95241bf-73f2-0310-859d-f6bbb57e9c96
These all work on pure GCC4 images as well because they do not use any of our
C++ APIs.
* Remove the GCC4 package from hybrid installs though, as it's not usable
without proper setup. Also the trick with rewriting the symlink obviously
doesn't work because symlinks are done way earlier than unzipping the optional
packages when building the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29158 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Enable -Werror on GCC4 builds as well (limited to the same selected targets).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29118 a95241bf-73f2-0310-859d-f6bbb57e9c96
and also comes with proper default includes.
* If installing GCC4 as part of a GCC2 based hybrid build, re-setup the gnupro
link that is overwritten by the GCC4 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29085 a95241bf-73f2-0310-859d-f6bbb57e9c96
installed either when building with GCC4 or when making a hybrid. Can be
installed separatly as well. Have fun :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29046 a95241bf-73f2-0310-859d-f6bbb57e9c96
include_next work properly with newer headers. GCC 4.3.2 has a <cstddef> in its
C++ headers for example that does an include_next of <stddef.h>. The latter is
located in the C headers. For this to work, the include directory for the C
headers needs to be specified later than the one of the C++ headers.
With that Haiku is now completely buildable with GCC 4.3.2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28995 a95241bf-73f2-0310-859d-f6bbb57e9c96
the main() signature are not applied and do not generate errors when violated.
Our bootloader has a non-standard main() signature for example, which is of
course fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28983 a95241bf-73f2-0310-859d-f6bbb57e9c96
old invalid user listeners yet, though (ie. if a team dies).
* Implemented userland network monitor functions.
* Added a few notifications to the network stack, even though this part isn't
complete yet (especially notify_interface_changed()).
* Added optional debug output to the notifications module.
* Added the module to the image, it basically works now (tested).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28825 a95241bf-73f2-0310-859d-f6bbb57e9c96
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28765 a95241bf-73f2-0310-859d-f6bbb57e9c96
It's getting annoying having to maintain so many identical driver lists... maybe those should be factored out in some way...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28654 a95241bf-73f2-0310-859d-f6bbb57e9c96
code duplication and will make maintaining it much easier.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28647 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjusted libtextencoding's Jamfile
* added libiconv.so to image
* added iconv headers to optional package Development (under 3rdparty)
* removed old private version of libiconv from textencoding
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28631 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Updated autoconf, automake, libtool, texinfo, flex, and bison to
their respectively current version. They are installed in /boot/common
now.
* Removed the /boot/home/config/bin/perl and /bin/m4 symlinks again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28582 a95241bf-73f2-0310-859d-f6bbb57e9c96
source and it works fine.)
* Updated WonderBrush package. The new version is compiled on Haiku and
improves the installation of the document mimetype (finally a more reliable
sniffer rule, thanks to Francois for helping me with this). The About window
is fixed to no longer use a hardcoded font file path. This version only runs
on Haiku, but it is fully unlocked! Next version with new features won't be.
Also comes with a new vector icon for the native document type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28570 a95241bf-73f2-0310-859d-f6bbb57e9c96
redownloading the package.
* Added link "vlc" to "VLC media player" in /boot/common/bin to make it
easier on people launching VLC from the command line.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28558 a95241bf-73f2-0310-859d-f6bbb57e9c96
* While I was at it, I also removed the extra screen savers until Ryan fixed
the issue (bug #2339).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28547 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added GNU M4 1.4.12 package to the Development optional package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28486 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Firefox -> 2.0.0.17, includes new HVIF icon
* VLC -> renamed VLC to "VLC media player" which is what the official name is
* Pe -> updated to most recent version (called it RC2) which includes a few
fixes and new HVIF icons for most of it's supported document types. Renamed
the application folder to "Pe" and removed the "Drag lpe here to install"
link. Renamed the application itself to "Pe".
Hope these changes are alright with everyone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28485 a95241bf-73f2-0310-859d-f6bbb57e9c96