History log of /haiku/src/kits/mail/Jamfile
Revision Date Author Comments
# 8d27b645 02-Jan-2024 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

features.h: fix build when BSD headers are not in include path

In our C library we try to provide a "clean" POSIX/ISO-C set of include
files that strictly conforming applications can use. However, we also
want to provide some extensions that are commonly available in BSD or
GNU systems.

These are normally provided in a separate directory
(headers/compatibility/bsd) and additionally guarded by compiler defines
that can either be explicitly set, or enabled by default if the language
standard (selected from the compiler command line) is one with GNU
extensions (this is the default for GCC). This is controlled by a header
file called features.h.

However, for some headers it is not so simple to split the GNU
extensions apart from the other parts of the file, because it's not just
extra functions, but additional flags and defines.

So, we need the "features.h" mechanism to be available even in the base
set of headers, but not enable anything if the BSD headers are not in
the search path. The simplest way to achieve this is to have an empty
features.h in the base set of headers, that can then be overriden by the
one in headers/compatibility/bsd if needed.

Fixes #18732

Change-Id: Ia54d1206c2fba378ae276ed4232aee8443180afb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7287
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 33056110 25-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Mail Kit: Delete now-unused DES implementation.


# 954b54ba 30-Jun-2017 Augustin Cavalier <waddlesplash@gmail.com>

kits/mail: Remove OpenSSL logic from Jamfile.

Nothing in the Mail Kit proper uses OpenSSL directly anymore
(confirmed with a grep for USE_SSL as well as "openssl"),
so we don't need this logic anymore.


# 8028ede7 15-Jan-2016 Rene Gollent <rene@gollent.com>

Build: Add architecture rule for libshared.a.

- As suggested by Ingo, add libshared.a to the architecture name map.
This allows it to be linked by its short name like other frequently
used libraries.
- Adjust all Jamfiles referencing the lib accordingly.


# 2eb5cc49 14-Jan-2016 Rene Gollent <rene@gollent.com>

libmail: Fix build on secondary architecture.


# 618cc43b 14-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: New folders will now adopt default mail attributes.

* Added a function CopyMailFolderAttributes() that copies the attribute
layout from the text/x-email default query folder.
* This using the new CopyAttributes() method in libshared that is pretty
much a copy of a similar method from copyattr. However, I did not
replace the latter, as that one allows for more fine grained error
reporting (and attribute filtering).
* Closes ticket #3498.


# ca3341c7 12-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major mail protocol/filter settings rework.

* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
a base view for all filter/protocol settings that works with
BMailAddOnSettings.
* Cleanups in E-mail which is now completely layout friendly. But also still
crashes when changing the views.


# 715bf3d1 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Work in progress of mail rework.

* Not everything compiles; all protocols, and inbound filters do, though.
* Renamed a few classes to give a better idea what they are for; prefixed
public classes with the 'B' prefix.
* Moved ProtocolConfigView's classes into the BPrivate namespace.
* Moved BMailFilter into its own file.
* Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter
in order to give a description of what it's doing (ie. no more dozens of
"Rule filter" entries in the preferences).
* Removed no longer used MailAddon.h.
* Renamed Addon to AddOn where found, since that is more consistent with the
rest of the API.
* Merged the former MailProtocol with the former MailProtocolThread; the
differentiation between those two was pretty messy.
* All configuration views touched so far are now using the layout kit.
* The RuleFilter is currently broken functionality wise; I have not yet decided
how to solve the stuff it uses (TriggerFileMove() does not exist anymore,
for example).
* BMailAddOnSettings (formerly known as AddonSettings) now directly subclass
BMessage; there are no Settings() and EditSettings() method anymore. The
class uses a copy of itself to determine whether or not it has been changed.
* Lots of cleanup.


# 9192d4dc 14-Dec-2011 Axel Dörfler <axeld@pinc-software.de>

Started working on the IMAP add-on itself.

* Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp)
to FolderConfigWindow.(h|cpp).
* Got the latter to build.
* Added Settings class to simplify and unify the BMessage based
settings access.
* Removed the InboundProtocol[Thread] implementation from the build for now.


# 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.


# 225b6382 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support building most system libraries for secondary arch

Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.


# 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).


# ebb78dd9 13-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Update openssl package

Also use the new build feature rules


# f0cacbb3 08-Dec-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

OptionalBuildFeatures -> BuildFeatures, make use of new rules

Got rid of X86_ONLY and friends in HaikuImage, FloppyBootImage, etc.
Instead we use build feature specification annotated lists with
FFilterByBuildFeatures (either explicitly or implicitly where passing
the list directly to the image rules).

I just translated the variables to the respective annotatation in most
cases, though in some cases different annotation would be more correct
(e.g. for the OpenGL stuff).

Provides a simple framework for addressing #3798. The interested reader
may add the build features and add/adjust the annotations accordingly.


# ed77847c 14-Dec-2011 czeidler <haiku@clemens-zeidler.de>

Remove private BStringList implementation from mail. Tested it but however please be careful an review. This fixes bug #8174.


# 410018c3 02-Dec-2011 Axel Dörfler <axeld@pinc-software.de>

Made mail_encoding a proper C++ file.

* This unbreaks the GCC2 build, thanks Matt!


# 21485370 02-Nov-2011 Axel Dörfler <axeld@pinc-software.de>

* Put ServerConnection into the BPrivate namespace as it should have been.
* Fixed completely broken error reporting; Write()/Read() will now return the
proper error code (and ssize_t instead of int32).
* Reimplemented WaitForData() using poll() which is more efficient.
* Now uses BNetworkAddress to resolve the server address which also should now
work with IPv6.
* Removed some unused headers.
* Minor coding style cleanup.


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


# 3b01da1b 31-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add compatibility file again. Should fix #7858.



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


# aba82385 28-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Patch by taos. Adds rdef files to make localization working.



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


# cba256dc 20-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Apply a nice patch from Taos, just some smaller style fixes by myself.
Localize the mail kit.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.



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


# a4710c0d 30-May-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move ServerConnection class from the IMAP add-on to libmail.so. This avoids to init SSL each time an IMAP add-on
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...



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


# 2e512291 09-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Re-add/fix old c mail api functions.



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


# 1af4fa4b 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Major restructuring of the mail server:

Accounts are now stored in a separate file. Previously they where somehow magically assembled from the chain ids. Now its possible to remove a account temporary by removing the account file form the account folder.

Each account could have an inbound protocol, an outbound protocol and some filters.

Mails are now associated with an account and not with a chain. This required to replace the chain id attribute by an account attribute.

Replace BMailFilter and BMailChain by a less general approach. Basically the chain had a list of filters and call the ProcessMailMessage for each filter. This made it sometime difficult to understand what is going on, e.g. sometimes a filter used information gathered by another filters. The new MailProtocol and MailFilter classes are calling more dedicated hook functions, e.g. HeaderFetched or MessageReadyToSend.

As before all MailProtocol's (plus their filters) are running in their own thread.

Cleaned up the error and status window a bit. Abstracted the interface to these windows. Should be easy to write a BNotification api back-end now.

Parsing of mail headers is much faster now. Fetching the headers of a large mailbox takes ~min and not ~hour now! Initial checkout time is in the same order like Opera. The problem was the massive use of fgets in parse_header (mail_util.cpp) now the complete header is read in one go. Furthermore, only interesting fields are extracted.

Remove some unused files, BeOS relicts... Feel free to translate the mail server and remove the own language system (headers/private/mail/MDRLanguage.h).

Sorry for the remaining old (and new) coding style issues, sometime just ignore them, to many :(



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


# 02b5d2e4 18-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Stefano was right, there was another leak - I've fixed them all now in a
nicer way.


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


# bbbcf3d6 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

regex.c is already in libroot


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


# 9fcbc27e 01-Feb-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the ChainRunnerGetHostByNameHack from libmail.so. Should it still
be needed in Haiku, one could easily fix that.
* Automatic whitespace cleanup.
* Minor other cleanup.


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


# 7a35b205 29-Jan-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Added regex implementation. using the system one results in failures when
compiling a regex. Note this is probably a bug in how MDR uses regex and not in
the regex implementation itself. This is just the simple fix while I
investigate bug #1200.



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


# 7e8ac290 12-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
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


# a26cf893 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

This removes some of the accidental submissions from my last commit.

For those wondering "mark_as" is the directory for the MarkAsRead and MarkAsNew
Tracker add-ons I'm planning to add (for email.) If anyone is violently
opposed to this idea, speak now.

The WorkspacesLayer change was mostly an update to existing and ifdef 0'd
code so it would compile under ifdef 1. I left those changes and just set the
ifdef back to 0 here.

The other changes below were debugging and build changes that definitely were
not needed in the repository.

The undocumented changes in the last submission include some new keyboard
shortcuts in ShowImage as well as various changes to the input server and
roster as part of my ongoing work on those. I will clean this up some more
and make another submission in a few hours.

Note to self: never submit from a high-level directory...


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


# 252f4767 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 1663fe07 06-Nov-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Updated a few old BONE references to use the new build system defines.


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


# 7f9c73db 01-Nov-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Updated mail libmail.so compile and IMAP add-on to use the new build system
and work under both R5 and Haiku (didn't test Bone/Dano but they should work
too). Still have SMTP, POP3 and a few other things to fix up, but ran out
of time again.


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


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# d67e6bc8 11-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
and it's definitely not necessary to link against it by default.
Note, this might cause problems in some of the mail add-ons; I haven't
tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


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


# 6040be99 20-Nov-2004 shatty <shatty@nowhere.fake>

use NETWORK_LIBS for linking, define BUILDING_R5_LIBNET if necessary


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


# 1096e45f 11-Nov-2004 shatty <shatty@nowhere.fake>

use BONE_COMPATIBLE instead of TARGET_PLATFORM


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


# 6371ad42 30-Oct-2004 shatty <shatty@nowhere.fake>

simplify Jamfile


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


# d67b4412 30-Oct-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Fixed net_server build


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


# fcdc48f1 30-Oct-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Fixed a nasty bug I introduced when I fixed IMAP that made it impossible to send mail. Apparently I don't send that much.... it's been in there for a good week or so.


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


# 0d21a7f4 21-Sep-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Added packaging for the mail daemon, added build support for SSL mode (although it currently relies on manually uncommenting things in the Jamfile). PPP state detection still broken.


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


# f7215ac8 20-Sep-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Imported MDR. Some code still not entirely functional -- I haven't been able to figure out how to detect SSL, so IMAP and POP have it turned off. PPP auto-detect is also not functional at the moment. Other than that, it seems to work beautifully. Packaging will come later.


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


# ca3341c7b430ae9c6a1e7ec22f9aa83d46910814 12-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major mail protocol/filter settings rework.

* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
a base view for all filter/protocol settings that works with
BMailAddOnSettings.
* Cleanups in E-mail which is now completely layout friendly. But also still
crashes when changing the views.


# 715bf3d17a81353ae5d1fa6867587cc0f5c32ce1 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Work in progress of mail rework.

* Not everything compiles; all protocols, and inbound filters do, though.
* Renamed a few classes to give a better idea what they are for; prefixed
public classes with the 'B' prefix.
* Moved ProtocolConfigView's classes into the BPrivate namespace.
* Moved BMailFilter into its own file.
* Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter
in order to give a description of what it's doing (ie. no more dozens of
"Rule filter" entries in the preferences).
* Removed no longer used MailAddon.h.
* Renamed Addon to AddOn where found, since that is more consistent with the
rest of the API.
* Merged the former MailProtocol with the former MailProtocolThread; the
differentiation between those two was pretty messy.
* All configuration views touched so far are now using the layout kit.
* The RuleFilter is currently broken functionality wise; I have not yet decided
how to solve the stuff it uses (TriggerFileMove() does not exist anymore,
for example).
* BMailAddOnSettings (formerly known as AddonSettings) now directly subclass
BMessage; there are no Settings() and EditSettings() method anymore. The
class uses a copy of itself to determine whether or not it has been changed.
* Lots of cleanup.


# 9192d4dcf36ca64087e0702be1ef464c1e49d208 14-Dec-2011 Axel Dörfler <axeld@pinc-software.de>

Started working on the IMAP add-on itself.

* Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp)
to FolderConfigWindow.(h|cpp).
* Got the latter to build.
* Added Settings class to simplify and unify the BMessage based
settings access.
* Removed the InboundProtocol[Thread] implementation from the build for now.


# 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.


# 225b6382637a7346d5378ee45a6581b4e2616055 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support building most system libraries for secondary arch

Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.


# 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).


# ebb78dd9b70b96e75a2763014c579e3973f3179b 13-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Update openssl package

Also use the new build feature rules


# f0cacbb32ba55d1fb4bdbd71152e57a3da3f290e 08-Dec-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

OptionalBuildFeatures -> BuildFeatures, make use of new rules

Got rid of X86_ONLY and friends in HaikuImage, FloppyBootImage, etc.
Instead we use build feature specification annotated lists with
FFilterByBuildFeatures (either explicitly or implicitly where passing
the list directly to the image rules).

I just translated the variables to the respective annotatation in most
cases, though in some cases different annotation would be more correct
(e.g. for the OpenGL stuff).

Provides a simple framework for addressing #3798. The interested reader
may add the build features and add/adjust the annotations accordingly.


# ed77847ca4be5b60fd1420d5bd204593aaf1c1e5 14-Dec-2011 czeidler <haiku@clemens-zeidler.de>

Remove private BStringList implementation from mail. Tested it but however please be careful an review. This fixes bug #8174.


# 410018c3ad25a46244d9204bf77b9ebe6da77c3c 02-Dec-2011 Axel Dörfler <axeld@pinc-software.de>

Made mail_encoding a proper C++ file.

* This unbreaks the GCC2 build, thanks Matt!


# 214853702f03e3cb22f6d051478a2609b06082be 02-Nov-2011 Axel Dörfler <axeld@pinc-software.de>

* Put ServerConnection into the BPrivate namespace as it should have been.
* Fixed completely broken error reporting; Write()/Read() will now return the
proper error code (and ssize_t instead of int32).
* Reimplemented WaitForData() using poll() which is more efficient.
* Now uses BNetworkAddress to resolve the server address which also should now
work with IPv6.
* Removed some unused headers.
* Minor coding style cleanup.


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


# 3b01da1b46340fd91d2dc86501570e7ec1e94772 31-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add compatibility file again. Should fix #7858.



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


# aba82385f185a06370acaaeb06b9188326804814 28-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Patch by taos. Adds rdef files to make localization working.



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


# cba256dc5bb18ebbe7622174cf9e87100422421e 20-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Apply a nice patch from Taos, just some smaller style fixes by myself.
Localize the mail kit.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.



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


# a4710c0d4629e0234e7f97424499fb4aa348489e 30-May-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move ServerConnection class from the IMAP add-on to libmail.so. This avoids to init SSL each time an IMAP add-on
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...



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


# 2e5122917d6b9c1237342655d267cfdabf7aa463 09-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Re-add/fix old c mail api functions.



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


# 1af4fa4ba62ba7e49fc47d60a3a89083b6f51c6f 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Major restructuring of the mail server:

Accounts are now stored in a separate file. Previously they where somehow magically assembled from the chain ids. Now its possible to remove a account temporary by removing the account file form the account folder.

Each account could have an inbound protocol, an outbound protocol and some filters.

Mails are now associated with an account and not with a chain. This required to replace the chain id attribute by an account attribute.

Replace BMailFilter and BMailChain by a less general approach. Basically the chain had a list of filters and call the ProcessMailMessage for each filter. This made it sometime difficult to understand what is going on, e.g. sometimes a filter used information gathered by another filters. The new MailProtocol and MailFilter classes are calling more dedicated hook functions, e.g. HeaderFetched or MessageReadyToSend.

As before all MailProtocol's (plus their filters) are running in their own thread.

Cleaned up the error and status window a bit. Abstracted the interface to these windows. Should be easy to write a BNotification api back-end now.

Parsing of mail headers is much faster now. Fetching the headers of a large mailbox takes ~min and not ~hour now! Initial checkout time is in the same order like Opera. The problem was the massive use of fgets in parse_header (mail_util.cpp) now the complete header is read in one go. Furthermore, only interesting fields are extracted.

Remove some unused files, BeOS relicts... Feel free to translate the mail server and remove the own language system (headers/private/mail/MDRLanguage.h).

Sorry for the remaining old (and new) coding style issues, sometime just ignore them, to many :(



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


# 02b5d2e4e3b31992153f98a454b98c48945d51e8 18-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Stefano was right, there was another leak - I've fixed them all now in a
nicer way.


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


# bbbcf3d61b683874635f933bdc9c1a339b8c7ebc 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

regex.c is already in libroot


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


# 9fcbc27e277ded619f17c3c4234e3762252432de 01-Feb-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the ChainRunnerGetHostByNameHack from libmail.so. Should it still
be needed in Haiku, one could easily fix that.
* Automatic whitespace cleanup.
* Minor other cleanup.


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


# 7a35b205fe166bd0111427011454a1ce4ae31163 29-Jan-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Added regex implementation. using the system one results in failures when
compiling a regex. Note this is probably a bug in how MDR uses regex and not in
the regex implementation itself. This is just the simple fix while I
investigate bug #1200.



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


# 7e8ac2903b840f54bd891019fac17f2e28cbbc0c 12-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
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


# a26cf893d052d34f753eda341e2d7feabc74657a 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

This removes some of the accidental submissions from my last commit.

For those wondering "mark_as" is the directory for the MarkAsRead and MarkAsNew
Tracker add-ons I'm planning to add (for email.) If anyone is violently
opposed to this idea, speak now.

The WorkspacesLayer change was mostly an update to existing and ifdef 0'd
code so it would compile under ifdef 1. I left those changes and just set the
ifdef back to 0 here.

The other changes below were debugging and build changes that definitely were
not needed in the repository.

The undocumented changes in the last submission include some new keyboard
shortcuts in ShowImage as well as various changes to the input server and
roster as part of my ongoing work on those. I will clean this up some more
and make another submission in a few hours.

Note to self: never submit from a high-level directory...


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


# 252f4767828ef4564f9fcedca981234e26e7bd32 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 1663fe079b857860c496f490aa6ecbda8851bf06 06-Nov-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Updated a few old BONE references to use the new build system defines.


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


# 7f9c73dbd571092fd57749b08c05687f9d0b3635 01-Nov-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Updated mail libmail.so compile and IMAP add-on to use the new build system
and work under both R5 and Haiku (didn't test Bone/Dano but they should work
too). Still have SMTP, POP3 and a few other things to fix up, but ran out
of time again.


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


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# d67e6bc8a2acc4f92432a6d41c43f6726746ef2a 11-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
and it's definitely not necessary to link against it by default.
Note, this might cause problems in some of the mail add-ons; I haven't
tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


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


# 6040be9931fe74ba870d67230da05a5001d73c6d 20-Nov-2004 shatty <shatty@nowhere.fake>

use NETWORK_LIBS for linking, define BUILDING_R5_LIBNET if necessary


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


# 1096e45fc56198b640a8625d36e698a134a6ca8e 11-Nov-2004 shatty <shatty@nowhere.fake>

use BONE_COMPATIBLE instead of TARGET_PLATFORM


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


# 6371ad42f3a7ac69753b3732f72ad809db888b8e 30-Oct-2004 shatty <shatty@nowhere.fake>

simplify Jamfile


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


# d67b4412fa72bbbdf6d71199fa6cda8e7e1b3d8b 30-Oct-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Fixed net_server build


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


# fcdc48f1a7ccc5a21fbd3dc5a4ac0caf6858b58f 30-Oct-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Fixed a nasty bug I introduced when I fixed IMAP that made it impossible to send mail. Apparently I don't send that much.... it's been in there for a good week or so.


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


# 0d21a7f43f0b7e2bcaf15d5a13abfb5ea066eb83 21-Sep-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Added packaging for the mail daemon, added build support for SSL mode (although it currently relies on manually uncommenting things in the Jamfile). PPP state detection still broken.


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


# f7215ac853ab5fda385dffd3e3dc0e1f74662ce9 20-Sep-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Imported MDR. Some code still not entirely functional -- I haven't been able to figure out how to detect SSL, so IMAP and POP have it turned off. PPP auto-detect is also not functional at the moment. Other than that, it seems to work beautifully. Packaging will come later.


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