Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / doc / PORTABILITY
1 You may have heard from a certain person that cdrkit is not portable and you
2 may need some help to decide whether you shall believe him/her or not. It is,
3 as usual, recommended to make your own opinion before adopting someone elses
4 which may be biased.
5
6 What is portability? Portability is the ability for being compiled and
7 deployed on a platform that an application supports. It is obvious that nobody
8 can promise the unlimited portability especially not to operating systems to do
9 not exist yet or that are long dead (dead like in: unsupported, unmaintained for
10 many years, needing hardware which is not available in stores for many years).
11 And there could always undocumented bugs which means that real life tests
12 should be done on the target platform(s) again and again.
13
14 Therefore, unlimited portability is pure utopia. It is required to define a
15 certain degree of portability to meet the needs of the target user base.
16
17 How does that work in scope of cdrkit? Main target are mainstream platforms.
18 Currently, it supports Linux, FreeBSD, Cygwin (Win32), SunOS and AIX5l. This
19 set should cover the majority of general purpose computer systems in the wild.
20
21 Cdrkit sets some requirements on the targeted operating systems. However, most
22 modern unix-like OS should be able to fullfill them. Those requirements
23 include:
24
25  - an ANSI-C compiler, or a GCC port
26  - GNU make port
27  - Large File Support
28  - sane libc library
29  - some prerequisites to bootstrap CMake
30
31 This cuts off support for really old operating systems, but... do you care? Do
32 you need it? Or do you want to believe the tales of superiority through (just
33 claimed) portability?
34