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
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
* 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
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
* 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
* 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
installation has been relocated to /boot/common and socket support is
enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28364 a95241bf-73f2-0310-859d-f6bbb57e9c96