Merge branch 'package-management'

Conflicts:
	app-arch/p7zip/p7zip-9.04.bep
	app-arch/p7zip/p7zip-9.13.bep
	app-arch/tar/tar-1.22.bep
	app-arch/tar/tar-1.23.bep
	app-arch/tar/tar-1.25.bep
	app-arch/xz-utils/xz-utils-4.999.9.bep
	app-cdr/bchunk/bchunk-1.2.0.bep
	app-cdr/cdrtools/cdrtools-2.01.01a66.bep
	app-cdr/cdrtools/cdrtools-3.01a01.bep
	app-crypt/gnupg/gnupg-1.4.11.bep
	app-doc/doxygen/doxygen-1.6.3.bep
	app-editors/nano/nano-2.2.6.bep
	app-editors/vim/vim-7.3.bep
	app-text/antiword/antiword-0.37.bep
	app-text/libpaper/libpaper-1.1.23.bep
	app-text/libpaper/libpaper-1.1.24.bep
	app-text/rman/rman-3.2.bep
	dev-db/sqlite/sqlite-3.6.22.bep
	dev-db/sqlite/sqlite-3.6.23.bep
	dev-db/sqlite/sqlite-3.7.2.bep
	dev-db/sqlite/sqlite-3.7.3.bep
	dev-db/sqlite/sqlite-3.7.4.bep
	dev-db/sqlite/sqlite-3.7.5.bep
	dev-lang/lua/lua-5.1.4.bep
	dev-lang/nasm/nasm-2.08.01.bep
	dev-lang/perl/patches/perl-5.10.0.patch
	dev-lang/python/python-2.5.4.bep
	dev-lang/python/python-2.6.4.bep
	dev-lang/python/python-2.6.5.bep
	dev-lang/python/python-2.6.6.bep
	dev-lang/python/python-2.6.7.bep
	dev-lang/python/python-2.6.8.bep
	dev-lang/python/python-3.2.bep
	dev-lang/python/python-3.2.recipe
	dev-lang/python/python-3.2a4.bep
	dev-lang/yasm/yasm-1.1.0.bep
	dev-libs/apr-util/apr-util-1.3.10.bep
	dev-libs/apr-util/apr-util-1.3.9.bep
	dev-libs/apr/apr-1.3.8.bep
	dev-libs/apr/apr-1.3.9.bep
	dev-libs/apr/apr-1.4.2.bep
	dev-libs/apr/patches/apr-1.4.2.patch
	dev-libs/expat/expat-2.0.1.bep
	dev-libs/fribidi/fribidi-0.19.2.bep
	dev-libs/icu/icu-4.4.1.bep
	dev-libs/libedit/libedit-20090923.bep
	dev-libs/libedit/libedit-20100424.bep
	dev-libs/libevent/libevent-1.4.11.bep
	dev-libs/libevent/libevent-1.4.13.bep
	dev-libs/libevent/libevent-1.4.14b.bep
	dev-libs/libevent/libevent-2.0.10.bep
	dev-libs/libiconv/libiconv-1.12.bep
	dev-libs/libiconv/libiconv-1.13.1.bep
	dev-libs/libpcre/libpcre-8.00.bep
	dev-libs/libpcre/libpcre-8.02.bep
	dev-libs/libpcre/libpcre-8.12.bep
	dev-libs/libxml2/libxml2-2.7.3.bep
	dev-libs/libxml2/libxml2-2.7.6.bep
	dev-libs/libxml2/libxml2-2.7.7.bep
	dev-libs/libxml2/libxml2-2.7.8.bep
	dev-libs/openssl/openssl-0.9.8l.bep
	dev-libs/openssl/openssl-0.9.8m.bep
	dev-libs/openssl/openssl-1.0.0.bep
	dev-libs/openssl/openssl-1.0.0a.bep
	dev-libs/openssl/openssl-1.0.0c.bep
	dev-qt/qtcore/qtcore-4.8.x-git.bep
	dev-qt/qtcore/qtcore-4.8.x.recipe
	dev-util/ccache/ccache-3.0.1.bep
	dev-util/cmake/cmake-2.6.4.bep
	dev-util/cmake/cmake-2.8.0.bep
	dev-util/cmake/cmake-2.8.1.bep
	dev-util/cmake/cmake-2.8.2.bep
	dev-util/cmake/cmake-2.8.3.bep
	dev-util/cmake/cmake-2.8.4.bep
	dev-util/ctags/ctags-5.8.bep
	dev-util/fastdep/fastdep-0.16.bep
	dev-util/gperf/gperf-3.0.4.bep
	dev-util/pkgconfig/pkgconfig-0.23.bep
	dev-util/pkgconfig/pkgconfig-0.25.bep
	dev-vcs/cvs/cvs-1.12.13.1.bep
	dev-vcs/cvs/cvs-1.12.13.bep
	dev-vcs/subversion/subversion-1.6.11.bep
	dev-vcs/subversion/subversion-1.6.12.bep
	dev-vcs/subversion/subversion-1.6.13.bep
	dev-vcs/subversion/subversion-1.6.15.bep
	dev-vcs/subversion/subversion-1.6.6.bep
	dev-vcs/subversion/subversion-1.6.9.bep
	dev-vcs/subversion/subversion-1.7.xx-svn.bep
	haiku-apps/bepdf/bepdf-1.1.1b4.bep
	haiku-apps/libwalter/libwalter-97.bep
	haiku-apps/paladin/paladin-1.3-hg.bep
	haiku-apps/pe/pe-2.4.3-600.bep
	haiku-apps/vision/patches/vision-908-gcc4.patch
	haiku-apps/vision/vision-0.9.7.bep
	haiku-libs/libwalter/libwalter-97.bep
	haiku-libs/libwalter/libwalter-97.recipe
	media-gfx/graphviz/graphviz-2.24.bep
	media-gfx/graphviz/graphviz-2.26.3.bep
	media-libs/flac/flac-1.2.1.bep
	media-libs/freetype/freetype-2.3.11.bep
	media-libs/freetype/freetype-2.4.2.bep
	media-libs/freetype/freetype-2.4.4.bep
	media-libs/ftgl/ftgl-2.1-svn.bep
	media-libs/guilib/guilib-1.2.1.bep
	media-libs/jpeg/jpeg-7.bep
	media-libs/jpeg/jpeg-8b.bep
	media-libs/jpeg/jpeg-8c.bep
	media-libs/libao/libao-1.0.0.bep
	media-libs/libmad/libmad-0.15.1b.bep
	media-libs/libmng/libmng-1.0.10.bep
	media-libs/libogg/libogg-1.1.4.bep
	media-libs/libogg/libogg-1.2.0.bep
	media-libs/libogg/libogg-1.2.2.bep
	media-libs/libpng/libpng-1.2.29.bep
	media-libs/libpng/libpng-1.2.30.bep
	media-libs/libpng/libpng-1.2.40.bep
	media-libs/libpng/libpng-1.2.41.bep
	media-libs/libpng/libpng-1.2.43.bep
	media-libs/libpng/libpng-1.2.44.bep
	media-libs/libpng/libpng-1.4.1.bep
	media-libs/libpng/libpng-1.4.2.bep
	media-libs/libpng/libpng-1.4.3.bep
	media-libs/libpng/libpng-1.4.4.bep
	media-libs/libpng/libpng-1.5.0.bep
	media-libs/libsdl/patches/libsdl-1.2-hg.patch
	media-libs/libtheora/libtheora-1.1.1.bep
	media-libs/libvorbis/libvorbis-1.2.3.bep
	media-libs/libvorbis/libvorbis-1.3.1.bep
	media-libs/libvorbis/libvorbis-1.3.2.bep
	media-libs/libvpx/libvpx-0.9.2-git.bep
	media-libs/smpeg/smpeg-0.4.5.bep
	media-libs/speex/speex-1.2-git.bep
	media-libs/speex/speex-1.2rc1.bep
	media-sound/lame/lame-3.98.4.bep
	media-sound/lame/lame-398-2.bep
	media-sound/vorbis-tools/vorbis-tools-1.2.0.bep
	media-sound/vorbis-tools/vorbis-tools-1.4.0.bep
	media-video/ffmpeg/ffmpeg-0.5.bep
	media-video/ffmpeg/ffmpeg-0.6.bep
	net-misc/curl/curl-7.18.2.bep
	net-misc/curl/curl-7.19.1.bep
	net-misc/curl/curl-7.19.2.bep
	net-misc/curl/curl-7.19.5.bep
	net-misc/curl/curl-7.19.7.bep
	net-misc/curl/curl-7.20.0.bep
	net-misc/curl/curl-7.20.1.bep
	net-misc/curl/curl-7.21.1.bep
	net-misc/curl/curl-7.21.2.bep
	net-misc/curl/curl-7.21.3.bep
	net-misc/openssh/openssh-5.4p1.bep
	net-misc/openssh/openssh-5.5p1.bep
	net-misc/openssh/openssh-5.6p1.bep
	net-misc/openssh/openssh-5.7p1.bep
	net-misc/openssh/openssh-5.8p1.bep
	net-wireless/b43-fwcutter/b43-fwcutter-012.bep
	sci-libs/gsl/gsl-1.14.bep
	sys-apps/ed/ed-1.4.bep
	sys-apps/gawk/gawk-3.1.8.bep
	sys-apps/grep/grep-2.5.4.bep
	sys-apps/grep/grep-2.7.bep
	sys-apps/groff/groff-1.20.1.bep
	sys-apps/man/man-1.6f.bep
	sys-apps/sed/sed-4.2.1.bep
	sys-apps/texinfo/texinfo-4.13a.bep
	sys-devel/autoconf/autoconf-2.68.bep
	sys-devel/automake/automake-1.11.1.bep
	sys-devel/bison/bison-2.4.1.bep
	sys-devel/bison/bison-2.4.bep
	sys-devel/flex/flex-2.5.35.bep
	sys-devel/gettext/gettext-0.18.1.1-dev.bep
	sys-devel/gettext/gettext-0.18.1.1.bep
	sys-devel/jam/jam-2.5.bep
	sys-devel/m4/m4-1.4.14.bep
	sys-libs/ncurses/ncurses-5.6.bep
	sys-libs/ncurses/ncurses-5.7.bep
	sys-libs/readline/readline-5.2.bep
	sys-libs/readline/readline-6.0.bep
	sys-libs/readline/readline-6.1.bep
	sys-libs/zlib/zlib-1.2.3.bep
	sys-libs/zlib/zlib-1.2.5.bep
	x11-libs/qt/qt-4.8.x-git.bep
This commit is contained in:
Oliver Tappe
2013-10-15 22:48:02 +02:00
1452 changed files with 31199 additions and 33804 deletions

View File

@@ -5,14 +5,16 @@ REVISION="1"
STATUS_HAIKU="broken"
DEPEND=""
CHECKSUM_MD5="e2ca96bf71b014eefa11fe10a6f7d1f6"
BUILD {
BUILD()
{
cd abi-compliance-checker-1.98.3
sed -i 's/linux|freebsd|openbsd|netbsd/linux|freebsd|openbsd|netbsd|haiku/' Makefile.pl
sed -i 's/$PREFIX\/share\/$TOOL_SNAME/$PREFIX\/data\/$TOOL_SNAME/' Makefile.pl
sed -i 's/..\/share\/$TOOL_SNAME/..\/data\/$TOOL_SNAME/' Makefile.pl
}
INSTALL {
INSTALL()
{
cd abi-compliance-checker-1.98.3
mkdir -p $DESTDIR/`finddir B_COMMON_DIRECTORY`/example-descriptors
perl Makefile.pl -install --prefix=`finddir B_COMMON_DIRECTORY` \
@@ -21,7 +23,8 @@ INSTALL {
$DESTDIR/`finddir B_COMMON_DIRECTORY`/data/abi-compliance-checker
}
TEST {
TEST()
{
cd abi-compliance-checker-1.98.3
# make test
# make check

View File

@@ -0,0 +1,29 @@
This tool can be used to compare the ABIs of different versions of a shared
library. As part of the checking process, it invokes gcc in order to generate
a compiled header, which is not supported by gcc2.
So: only execute this tool if you have gcc4 installed and set as your current
compiler!
Enclosed are a couple of example descriptors (*.desc), which have been used
to analyze the ABI compatibility of zlib, libpng and libjpeg.
If you want to do your own checks, you are expected to unpack the sources of
all libraries that you'd like to compare in a folder (such that there is a
subfolder for each library, as usually is the case with xxx.tar.gz
distributions) and build each versions of library.
Before you can invoke the checker, you need to give it some info about each
library version, by means of a descriptor file. You can ask the checker to
generate a generic descriptor template, or you can use one of the enclosed
descriptor examples as a starting point.
abi-compliance-checker.pl -l <libname> -d1 <older>.desc -d2 <newer>.desc
More info can be found on the tool's homepage:
http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
Please send your haiku-specific questions my way:
Oliver Tappe <zooey@hirschkaefer.de>
Have fun.

View File

@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<version>
6.2
</version>
<headers>
jconfig.h
jerror.h
jmorecfg.h
jpeglib.h
</headers>
<libs>
jpeg-6b/.libs/libjpeg.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
jpeg-6b
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
stdio.h
</include_preamble>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<version>
7
</version>
<headers>
jconfig.h
jerror.h
jmorecfg.h
jpeglib.h
</headers>
<libs>
jpeg-7/.libs/libjpeg.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
jpeg-7
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
stdio.h
</include_preamble>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<version>
8
</version>
<headers>
jconfig.h
jerror.h
jmorecfg.h
jpeglib.h
</headers>
<libs>
jpeg-8/.libs/libjpeg.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
jpeg-8
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
stdio.h
</include_preamble>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0"?>
<version>
1.2.42
</version>
<headers>
pngconf.h
png.h
</headers>
<libs>
libpng-1.2.42/.libs/libpng12.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
libpng-1.2.42
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
</include_preamble>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0"?>
<version>
1.4.0
</version>
<headers>
pngconf.h
png.h
</headers>
<libs>
libpng-1.4.0/.libs/libpng14.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
libpng-1.4.0
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
</include_preamble>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<version>
1.1.4
</version>
<headers>
zconf.h
zlib.h
zutil.h
</headers>
<libs>
zlib-1.1.4/libz.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
zlib-1.1.4
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
</include_preamble>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<version>
1.2.2
</version>
<headers>
zconf.h
zlib.h
zutil.h
</headers>
<libs>
zlib-1.2.2/libz.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
zlib-1.2.2
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
</include_preamble>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<version>
1.2.3
</version>
<headers>
zconf.h
zlib.h
zutil.h
</headers>
<libs>
zlib-1.2.3/libz.so
</libs>
<include_paths>
/* The list of paths to be searched for header files needed for compiling of library headers, one per line */
/* This section is not necessary */
zlib-1.2.3
</include_paths>
<gcc_options>
/* Addition gcc options, one per line */
/* This section is not necessary */
</gcc_options>
<opaque_types>
/* The list of types that should be skipped while checking, one per line */
/* This section is not necessary */
</opaque_types>
<skip_interfaces>
/* The list of interfaces that should be skipped while checking, one mangled name per line */
/* This section is not necessary */
</skip_interfaces>
<include_preamble>
/* The list of header files that should be included before other headers, one per line */
/* For example, it is a tree.h for libxml2 and ft2build.h for freetype2 */
/* This section is not necessary */
</include_preamble>

View File

@@ -5,12 +5,14 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
BUILD {
BUILD()
{
cd astyle-r339/build/gcc
make prefix=$(finddir B_COMMON_DIRECTORY)
}
INSTALL {
INSTALL()
{
cd astyle-r339/build/gcc
make install \
prefix="${DESTDIR}/$(finddir B_COMMON_DIRECTORY)" \

View File

@@ -5,12 +5,14 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
BUILD {
BUILD()
{
cd astyle-r361/build/gcc
make prefix=$(finddir B_COMMON_DIRECTORY)
}
INSTALL {
INSTALL()
{
cd astyle-r361/build/gcc
make install \
prefix="${DESTDIR}/$(finddir B_COMMON_DIRECTORY)" \

View File

@@ -5,13 +5,15 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND="qt4,
cmake"
BUILD {
BUILD()
{
cd automoc-4-git
cmake CMakeLists.txt
make
}
INSTALL {
INSTALL()
{
cd automoc-4-git
make install
}

View File

@@ -1,11 +1,12 @@
DESCRIPTION="Native makefiles generator"
HOMEPAGE="http://www.bakefile.org"
SRC_URI="http://sourceforge.net/projects/bakefile/files/bakefile/0.2.8/bakefile-0.2.8.tar.gz/download"
CHECKSUM_MD5 = "874da5c9035514366b7723bc7657c71c"
CHECKSUM_MD5="874da5c9035514366b7723bc7657c71c"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd bakefile-0.2.8
touch ./ChangeLog
libtoolize --force --copy --install
@@ -14,7 +15,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd bakefile-0.2.8
make install
}

View File

@@ -6,7 +6,8 @@ STATUS_HAIKU="broken"
DEPEND="dev-lang/perl >= 5.10
dev-lang/lua >= 5.1"
CHECKSUM_MD5="fd0d4a754024a39d9cf1f5e42f8075b5"
BUILD {
BUILD()
{
cd bsdbuild-2.9
cp mkconfigure.pl mkconfigure
# cp gen-dotdepend.pl gen-dotdepend-tmp.pl
@@ -24,12 +25,14 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd bsdbuild-2.9
make install
}
TEST {
TEST()
{
cd bsdbuild-2.9
# make test
# make check

View File

@@ -0,0 +1,21 @@
DESCRIPTION="NetSurf build framework for compiling some of their libraries"
HOMEPAGE="http://www.netsurf-browser.org/"
SRC_URI="git://git.netsurf-browser.org/buildsystem"
REVISION="1"
STATUS_HAIKU="stable"
BUILD()
{
cd buildsystem-0
make
}
INSTALL()
{
cd buildsystem-0
make install PREFIX=/boot/common/
}
LICENSE="MIT
GNU GPL v2"
COPYRIGHT="2003 - 2012 The NetSurf Developers"

View File

@@ -1,21 +0,0 @@
DESCRIPTION="ccache is a fast compiler cache."
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/ccache-3.0.1.tar.bz2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="223449f7891e5d6a15b25100eca5cca4"
BUILD {
cd ccache-3.0.1
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd ccache-3.0.1
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="2002-2007 Andrew Tridgell
2009-2010 Joel Rosdahl"

View File

@@ -1,22 +0,0 @@
DESCRIPTION="ccache is a fast compiler cache."
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/ccache-3.1.4.tar.bz2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="676fda8a9a5e02574435c32b22942abd"
BUILD {
cd ccache-3.1.4
sed -i 's/\-lm//g' Ma*
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd ccache-3.1.4
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="2002-2007 Andrew Tridgell
2009-2011 Joel Rosdahl"

View File

@@ -1,22 +0,0 @@
DESCRIPTION="ccache is a fast compiler cache."
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/ccache-3.1.7.tar.bz2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="82257745eac54826527946e9e3d046f4"
BUILD {
cd ccache-3.1.7
sed -i 's/\-lm//g' Ma*
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd ccache-3.1.7
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="2002-2007 Andrew Tridgell
2009-2012 Joel Rosdahl"

View File

@@ -0,0 +1,37 @@
SUMMARY="ccache is a fast compiler cache."
DESCRIPTION="ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when same compilation is being done again. Supported languages are C, C++, Objective-C and Objective-C++."
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/ccache-3.1.9.tar.bz2"
REVISION="1"
LICENSE="GNU GPL v3"
COPYRIGHT="2002-2007 Andrew Tridgell
2009-2013 Joel Rosdahl"
CHECKSUM_MD5="65f48376a91d3651d6527ca568858be8"
ARCHITECTURES="x86 x86_gcc2"
PROVIDES="
cmd:ccache
"
REQUIRES="
lib:libroot >= $haikuVersion
lib:libz >= 1
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
"
BUILD()
{
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -1,19 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz"
CHECKSUM_MD5="50f387d0436696c4a68b5512a72c9cde"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.6.4
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd cmake-2.6.4
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2010 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,33 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="git+http://cmake.org/cmake.git"
#CHECKSUM_MD5=""
REVISION="1"
STATUS_HAIKU="broken"
DEPEND=""
BUILD {
cd cmake-2.8-git
# cmake appends the prefix to mandir and datadir
# so using ../../ to back that part out but for some reason
# the doc was also picking up /boot, so had to back it out 3 times
# this seems to work but might still need some further adjusting
# sed -i 's/${CMAKE_DATA_DIR}\/include cmCPluginAPI.h/${CMAKE_PREFIX_DIR}\/include cmCPluginAPI.h/g' Source/CMakeLists.txt
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=/data/cmake \
--docdir=/documentation/doc/CMake \
--mandir=/documentation/man
make
}
INSTALL {
cd cmake-2.8-git
make install
}
TEST {
cd cmake-2.8-git
make test
}
LICENSE="CMake"
COPYRIGHT="2002-2012 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,19 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.0.tar.gz"
CHECKSUM_MD5="3b3679b8a6afaedc38a8c15dd7ff4fcf"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.0
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd cmake-2.8.0
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2010 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,19 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.1.tar.gz"
CHECKSUM_MD5="feadc2e5ebbfed0efc90178583503725"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.1
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd cmake-2.8.1
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2010 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -5,7 +5,8 @@ CHECKSUM_MD5="097278785da7182ec0aea8769d06860c"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd cmake-2.8.10.2
# cmake assumes the aclocal dir is in share/aclocal
sed -i 's/share\/aclocal/data\/aclocal/g' Source/cmakemain.cxx
@@ -18,7 +19,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd cmake-2.8.10.2
make install
}

View File

@@ -1,33 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz"
#CHECKSUM_MD5=""
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.11.2
# cmake appends the prefix to mandir and datadir
# so using ../../ to back that part out but for some reason
# the doc was also picking up /boot, so had to back it out 3 times
# this seems to work but might still need some further adjusting
# sed -i 's/${CMAKE_DATA_DIR}\/include cmCPluginAPI.h/${CMAKE_PREFIX_DIR}\/include cmCPluginAPI.h/g' Source/CMakeLists.txt
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=/data/cmake \
--docdir=/documentation/doc/CMake \
--mandir=/documentation/man
make
}
INSTALL {
cd cmake-2.8.11.2
make install
}
TEST {
cd cmake-2.8.11.2
make test
}
LICENSE="CMake"
COPYRIGHT="2002-2013 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -0,0 +1,63 @@
SUMMARY="Cross platform Make"
DESCRIPTION="CMake is a cross-platform, open-source build system. It is a
family of tools designed to build, test and package software. CMake is used
to control the software compilation process using simple platform and
compiler independent configuration files. CMake generates native makefiles
and workspaces that can be used in the compiler environment of your choice.
"
HOMEPAGE="http://www.cmake.org"
LICENSE="CMake"
COPYRIGHT="2002-2013 Kitware, Inc., Insight Consortium, All rights reserved."
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz"
CHECKSUM_MD5="6f5d7b8e7534a5d9e1a7664ba63cf882"
REVISION="2"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
PROVIDES="
cmake = $portVersion compat >= 2.8
cmd:cmake = $portVersion compat >= 2.8
cmd:ccmake = $portVersion compat >= 2.8
cmd:cpack = $portVersion compat >= 2.8
cmd:ctest = $portVersion compat >= 2.8
"
REQUIRES="
haiku >= $haikuVersion
lib:libncurses
"
BUILD_REQUIRES="
devel:libncurses
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
cmd:grep
cmd:ld
cmd:libtool
cmd:make
cmd:sed
"
PATCHES="cmake-2.8.11.2.patchset"
BUILD()
{
./configure --prefix=$prefix \
--datadir=/$relativeDataDir/cmake \
--docdir=/$relativeDocDir \
--mandir=/$relativeManDir
make $jobArgs
}
INSTALL()
{
make install
# No way to tell this to configure...
mv $prefix/share/aclocal $dataDir
rmdir $prefix/share
}
TEST()
{
make test VERBOSE=1
}

View File

@@ -1,19 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.2.tar.gz"
CHECKSUM_MD5="8c967d5264657a798f22ee23976ff0d9"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.2
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd cmake-2.8.2
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2010 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,19 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz"
CHECKSUM_MD5="a76a44b93acf5e3badda9de111385921"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.3
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd cmake-2.8.3
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2010 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,28 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz"
CHECKSUM_MD5="209b7d1d04b2e00986538d74ba764fcf"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.4
# cmake appends the prefix to mandir and datadir
# so using ../../ to back that part out but for some reason
# the doc was also picking up /boot, so had to back it out 3 times
# this seems to work but might still need some further adjusting
# sed -i 's/${CMAKE_DATA_DIR}\/include cmCPluginAPI.h/${CMAKE_PREFIX_DIR}\/include cmCPluginAPI.h/g' Source/CMakeLists.txt
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=/data/cmake \
--docdir=/documentation/doc/CMake \
--mandir=/documentation/man
make
}
INSTALL {
cd cmake-2.8.4
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2011 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -1,28 +0,0 @@
DESCRIPTION="cmake - Cross platform Make"
HOMEPAGE="http://www.cmake.org"
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz"
CHECKSUM_MD5="3c5d32cec0f4c2dc45f4c2e84f4a20c5"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cmake-2.8.5
# cmake appends the prefix to mandir and datadir
# so using ../../ to back that part out but for some reason
# the doc was also picking up /boot, so had to back it out 3 times
# this seems to work but might still need some further adjusting
# sed -i 's/${CMAKE_DATA_DIR}\/include cmCPluginAPI.h/${CMAKE_PREFIX_DIR}\/include cmCPluginAPI.h/g' Source/CMakeLists.txt
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=/data/cmake \
--docdir=/documentation/doc/CMake \
--mandir=/documentation/man
make
}
INSTALL {
cd cmake-2.8.5
make install
}
LICENSE="CMake"
COPYRIGHT="2002-2011 Kitware, Inc., Insight Consortium, All rights reserved."

View File

@@ -0,0 +1,48 @@
SUMMARY="Cross platform Make"
DESCRIPTION="CMake is a cross-platform, open-source build system. It is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice."
HOMEPAGE="http://www.cmake.org"
LICENSE="CMake"
COPYRIGHT="2002-2011 Kitware, Inc., Insight Consortium, All rights reserved."
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz"
CHECKSUM_MD5="3c5d32cec0f4c2dc45f4c2e84f4a20c5"
REVISION="6"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="cmake-2.8.5.patchset"
PROVIDES="
cmake = $portVersion compat >= 2.8
cmd:cmake = $portVersion compat >= 2.8
cmd:cpack = $portVersion compat >= 2.8
cmd:ctest = $portVersion compat >= 2.8
"
REQUIRES="
haiku >= $haikuVersion
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
cmd:grep
cmd:ld
cmd:libtool
cmd:make
cmd:sed
"
SOURCE_DIR="$portVersionedName"
BUILD()
{
./configure --prefix=$prefix \
--datadir=/$relativeDataDir/cmake \
--docdir=/$relativeDocDir \
--mandir=/$relativeManDir
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -1,300 +0,0 @@
diff -ur cmake-2.6.0/Modules/CMakeFortranCompilerId.F90.in cmake-2.6.0-haiku/Modules/CMakeFortranCompilerId.F90.in
--- cmake-2.6.0/Modules/CMakeFortranCompilerId.F90.in 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CMakeFortranCompilerId.F90.in 2008-06-19 11:16:50.000000000 +0000
@@ -48,6 +48,10 @@
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+ PRINT *, 'INFO:platform[Haiku]'
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
diff -ur cmake-2.6.0/Modules/CMakePlatformId.h.in cmake-2.6.0-haiku/Modules/CMakePlatformId.h.in
--- cmake-2.6.0/Modules/CMakePlatformId.h.in 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CMakePlatformId.h.in 2008-06-19 11:16:50.000000000 +0000
@@ -35,6 +35,11 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+# define PLATFORM_ID "Haiku"
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
+
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
diff -ur cmake-2.6.0/Modules/CheckForPthreads.c cmake-2.6.0-haiku/Modules/CheckForPthreads.c
--- cmake-2.6.0/Modules/CheckForPthreads.c 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CheckForPthreads.c 2008-06-19 11:16:50.000000000 +0000
@@ -16,7 +16,7 @@
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
Only in cmake-2.6.0-haiku/Modules/Platform: Haiku.cmake
diff -ur cmake-2.6.0/Source/CPack/cmCPackGeneratorFactory.cxx cmake-2.6.0-haiku/Source/CPack/cmCPackGeneratorFactory.cxx
--- cmake-2.6.0/Source/CPack/cmCPackGeneratorFactory.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/CPack/cmCPackGeneratorFactory.cxx 2008-06-19 11:16:50.000000000 +0000
@@ -35,7 +35,7 @@
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
# include "cmCPackDebGenerator.h"
# include "cmCPackRPMGenerator.h"
#endif
@@ -72,7 +72,8 @@
cmCPackOSXX11Generator::CreateGenerator);
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__)\
+ && !defined(__HAIKU__)
this->RegisterGenerator("DEB", "Debian packages",
cmCPackDebGenerator::CreateGenerator);
this->RegisterGenerator("RPM", "RPM packages",
diff -ur cmake-2.6.0/Source/cmCTest.cxx cmake-2.6.0-haiku/Source/cmCTest.cxx
--- cmake-2.6.0/Source/cmCTest.cxx 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Source/cmCTest.cxx 2008-06-19 11:16:50.000000000 +0000
@@ -49,10 +49,15 @@
#include <memory> // auto_ptr
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
+
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
diff -ur cmake-2.6.0/Source/kwsys/DynamicLoader.cxx cmake-2.6.0-haiku/Source/kwsys/DynamicLoader.cxx
--- cmake-2.6.0/Source/kwsys/DynamicLoader.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/DynamicLoader.cxx 2008-06-20 14:08:23.000000000 +0000
@@ -331,7 +331,7 @@
// ---------------------------------------------------------------
// 4. Implementation for BeOS
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined(__HAIKU__)
#include <string.h> // for strerror()
#include <be/kernel/image.h>
#include <be/support/Errors.h>
diff -ur cmake-2.6.0/Source/kwsys/ProcessUNIX.c cmake-2.6.0-haiku/Source/kwsys/ProcessUNIX.c
--- cmake-2.6.0/Source/kwsys/ProcessUNIX.c 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/ProcessUNIX.c 2008-06-20 14:06:56.000000000 +0000
@@ -75,7 +75,7 @@
typedef int kwsysProcess_ssize_t;
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void kwsysProcess_usleep(unsigned int msec)
diff -ur cmake-2.6.0/Source/kwsys/SystemTools.cxx cmake-2.6.0-haiku/Source/kwsys/SystemTools.cxx
--- cmake-2.6.0/Source/kwsys/SystemTools.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/SystemTools.cxx 2008-06-19 15:49:33.000000000 +0000
@@ -131,7 +131,12 @@
#define _chdir chdir
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#ifdef (__HAIKU__)
+#include <os/kernel.OS.h>
+#include <os/storage/Path.h>
+#endif
+
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff -ur cmake-2.6.0/Source/kwsys/testProcess.c cmake-2.6.0-haiku/Source/kwsys/testProcess.c
--- cmake-2.6.0/Source/kwsys/testProcess.c 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/testProcess.c 2008-06-19 11:16:51.000000000 +0000
@@ -34,7 +34,7 @@
# pragma warn -8060 /* possibly incorrect assignment */
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void testProcess_usleep(unsigned int msec)
diff -ur cmake-2.6.0/Tests/Complex/Library/CMakeLists.txt cmake-2.6.0-haiku/Tests/Complex/Library/CMakeLists.txt
--- cmake-2.6.0/Tests/Complex/Library/CMakeLists.txt 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Tests/Complex/Library/CMakeLists.txt 2008-06-19 11:16:51.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ IF(NOT HAIKU) # libm in included in libroot on Haiku
+ SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -ur cmake-2.6.0/Utilities/cmcurl/CMake/CurlTests.c cmake-2.6.0-haiku/Utilities/cmcurl/CMake/CurlTests.c
--- cmake-2.6.0/Utilities/cmcurl/CMake/CurlTests.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/CMake/CurlTests.c 2008-06-19 11:16:51.000000000 +0000
@@ -38,6 +38,12 @@
# define PLATFORM_AIX_V3
#endif
+/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
+/* many BeOS workarounds are no longer needed in Haiku */
+#if defined(__HAIKU__) && defined(__BEOS__)
+undef (__BEOS__)
+#endif
+
#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
#error "O_NONBLOCK does not work on this platform"
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/curl/curl.h cmake-2.6.0-haiku/Utilities/cmcurl/curl/curl.h
--- cmake-2.6.0/Utilities/cmcurl/curl/curl.h 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/curl/curl.h 2008-06-19 11:16:51.000000000 +0000
@@ -1133,7 +1133,7 @@
}
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#include <support/SupportDefs.h>
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/if2ip.c cmake-2.6.0-haiku/Utilities/cmcurl/if2ip.c
--- cmake-2.6.0/Utilities/cmcurl/if2ip.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/if2ip.c 2008-06-19 11:16:51.000000000 +0000
@@ -39,7 +39,7 @@
*/
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(_AMIGASF) && !defined(__minix)
+ !defined(_AMIGASF) && !defined(__minix) && !defined(__HAIKU__)
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
diff -ur cmake-2.6.0/Utilities/cmcurl/select.c cmake-2.6.0-haiku/Utilities/cmcurl/select.c
--- cmake-2.6.0/Utilities/cmcurl/select.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/select.c 2008-06-19 11:16:51.000000000 +0000
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/setup.h cmake-2.6.0-haiku/Utilities/cmcurl/setup.h
--- cmake-2.6.0/Utilities/cmcurl/setup.h 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/setup.h 2008-06-19 11:16:51.000000000 +0000
@@ -264,7 +264,7 @@
#else /* MSDOS */
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
#define sclose(x) closesocket(x)
#else /* __BEOS__ */
#define sclose(x) close(x)
diff -ur cmake-2.6.0/Utilities/cmtar/libtar.c cmake-2.6.0-haiku/Utilities/cmtar/libtar.c
--- cmake-2.6.0/Utilities/cmtar/libtar.c 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmtar/libtar.c 2008-06-19 11:16:51.000000000 +0000
@@ -98,8 +98,8 @@
{
return -1;
}
-
-#if defined(__BEOS__) && !defined(__ZETA__) /* no fchmod on BeOS...do pathname instead. */
+/* no fchmod on BeOS...do pathname instead. */
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode & 07777))
{
return -1;
diff -ur cmake-2.6.0/Utilities/cmxmlrpc/xmlrpc_curl_transport.c cmake-2.6.0-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c
--- cmake-2.6.0/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-06-19 11:16:51.000000000 +0000
@@ -10,7 +10,7 @@
#include "xmlrpc_config.h"
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
/* Some helpful system header has char==bool, then bool.h does int==bool. */
#define HAVE_BOOL 1
#endif
diff -ur cmake-2.6.0/Utilities/cmzlib/zconf.h cmake-2.6.0-haiku/Utilities/cmzlib/zconf.h
--- cmake-2.6.0/Utilities/cmzlib/zconf.h 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmzlib/zconf.h 2008-06-19 11:16:51.000000000 +0000
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__)
+#if defined (__BEOS__) && !defined (__HAIKU__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff -ur cmake-2.6.0/Utilities/cmzlib/zutil.h cmake-2.6.0-haiku/Utilities/cmzlib/zutil.h
--- cmake-2.6.0/Utilities/cmzlib/zutil.h 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmzlib/zutil.h 2008-06-19 11:16:51.000000000 +0000
@@ -147,7 +147,13 @@
# define OS_CODE 0x0f
#endif
-#if defined(_BEOS_) || defined(RISCOS)
+/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
+/* many BeOS workarounds are no longer needed in Haiku */
+#if defined(__HAIKU__) && defined(__BEOS__)
+undef (__BEOS__)
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
diff -ur cmake-2.6.0/bootstrap cmake-2.6.0-haiku/bootstrap
--- cmake-2.6.0/bootstrap 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/bootstrap 2008-06-19 11:16:51.000000000 +0000
@@ -73,6 +73,13 @@
cmake_system_beos=false
fi
+# Determine whether this is Haiku
+if echo "${cmake_system}" | grep Haiku >/dev/null 2>&1; then
+ cmake_system_haiku=true
+else
+ cmake_system_haiku=false
+fi
+
# Choose the generator to use for bootstrapping.
if ${cmake_system_mingw}; then
# Bootstrapping from an MSYS prompt.
@@ -603,6 +610,11 @@
cmake_ld_flags="${LDFLAGS} -lroot -lbe"
fi
+# Add Haiku toolkits...
+if ${cmake_system_haiku}; then
+ cmake_ld_flags="${LDFLAGS} -lroot -lbe"
+fi
+
# Test C compiler
cmake_c_compiler=

View File

@@ -1,474 +0,0 @@
diff -urN cmake-2.6.1/Modules/CMakeFortranCompilerId.F90.in cmake-2.6.1-haiku/Modules/CMakeFortranCompilerId.F90.in
--- cmake-2.6.1/Modules/CMakeFortranCompilerId.F90.in 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CMakeFortranCompilerId.F90.in 2008-09-12 15:11:49.000000000 +0000
@@ -50,6 +50,8 @@
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+ PRINT *, 'INFO:platform[Haiku]'
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
diff -urN cmake-2.6.1/Modules/CMakePlatformId.h.in cmake-2.6.1-haiku/Modules/CMakePlatformId.h.in
--- cmake-2.6.1/Modules/CMakePlatformId.h.in 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CMakePlatformId.h.in 2008-09-12 15:12:47.000000000 +0000
@@ -35,6 +35,9 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+# define PLATFORM_ID "Haiku"
+
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
diff -urN cmake-2.6.1/Modules/CheckForPthreads.c cmake-2.6.1-haiku/Modules/CheckForPthreads.c
--- cmake-2.6.1/Modules/CheckForPthreads.c 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CheckForPthreads.c 2008-09-12 15:07:32.000000000 +0000
@@ -16,7 +16,7 @@
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
diff -urN cmake-2.6.1/Modules/Platform/Haiku.cmake cmake-2.6.1-haiku/Modules/Platform/Haiku.cmake
--- cmake-2.6.1/Modules/Platform/Haiku.cmake 1970-01-01 00:00:00.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/Platform/Haiku.cmake 2008-09-12 15:07:32.000000000 +0000
@@ -0,0 +1,14 @@
+SET(BEOS 1)
+
+# GCC is the default compiler on Haiku.
+INCLUDE(${CMAKE_ROOT}/Modules/Platform/gcc.cmake)
+
+SET(CMAKE_DL_LIBS root be)
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
+
+INCLUDE(Platform/UnixPaths)
diff -urN cmake-2.6.1/Source/CPack/cmCPackGeneratorFactory.cxx cmake-2.6.1-haiku/Source/CPack/cmCPackGeneratorFactory.cxx
--- cmake-2.6.1/Source/CPack/cmCPackGeneratorFactory.cxx 2008-08-01 15:34:53.000000000 +0000
+++ cmake-2.6.1-haiku/Source/CPack/cmCPackGeneratorFactory.cxx 2008-09-12 15:07:32.000000000 +0000
@@ -36,7 +36,7 @@
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
# include "cmCPackDebGenerator.h"
# include "cmCPackRPMGenerator.h"
#endif
@@ -75,7 +75,8 @@
cmCPackOSXX11Generator::CreateGenerator);
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__)\
+ && !defined(__HAIKU__)
this->RegisterGenerator("DEB", "Debian packages",
cmCPackDebGenerator::CreateGenerator);
this->RegisterGenerator("RPM", "RPM packages",
diff -urN cmake-2.6.1/Source/cmCTest.cxx cmake-2.6.1-haiku/Source/cmCTest.cxx
--- cmake-2.6.1/Source/cmCTest.cxx 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmCTest.cxx 2008-09-12 15:07:32.000000000 +0000
@@ -49,10 +49,15 @@
#include <memory> // auto_ptr
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
+
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
@@ -607,7 +612,7 @@
cmSystemTools::PutEnv("DASHBOARD_TEST_FROM_CTEST=" CMake_VERSION);
#if defined(_WIN32)
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
-#elif defined(__BEOS__)
+#elif defined(__BEOS__) || defined(__HAIKU__)
disable_debugger(1);
#endif
}
diff -urN cmake-2.6.1/Source/cmDependsJavaLexer.cxx cmake-2.6.1-haiku/Source/cmDependsJavaLexer.cxx
--- cmake-2.6.1/Source/cmDependsJavaLexer.cxx 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmDependsJavaLexer.cxx 2008-09-12 15:07:33.000000000 +0000
@@ -23,7 +23,7 @@
#include <errno.h>
#include <stdlib.h>
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined (__HAIKU__)
#include <unistd.h> /* prevents a conflict with a #define later on... */
#endif
diff -urN cmake-2.6.1/Source/cmDependsJavaLexer.h cmake-2.6.1-haiku/Source/cmDependsJavaLexer.h
--- cmake-2.6.1/Source/cmDependsJavaLexer.h 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmDependsJavaLexer.h 2008-09-12 15:07:33.000000000 +0000
@@ -38,7 +38,7 @@
#include <errno.h>
#include <stdlib.h>
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <unistd.h> /* prevents a conflict with a #define later on... */
#endif
diff -urN cmake-2.6.1/Source/cmSystemTools.cxx cmake-2.6.1-haiku/Source/cmSystemTools.cxx
--- cmake-2.6.1/Source/cmSystemTools.cxx 2008-08-01 15:34:53.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmSystemTools.cxx 2008-09-12 15:10:22.000000000 +0000
@@ -910,7 +910,7 @@
fflush(stdout);
fflush(stderr);
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
beos_seen_signal = false;
signal(SIGCHLD, beos_popen_workaround);
#endif
@@ -918,7 +918,7 @@
FILE* cpipe = popen(command, "r");
if(!cpipe)
{
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
signal(SIGCHLD, SIG_DFL);
#endif
return false;
@@ -931,12 +931,13 @@
cmSystemTools::Stdout(buffer);
}
output += buffer;
+ buffer[0] = 0;
fgets(buffer, BUFFER_SIZE, cpipe);
}
retVal = pclose(cpipe);
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
for (int i = 0; (!beos_seen_signal) && (i < 3); i++)
{
::sleep(1); // signals should interrupt this...
@@ -970,11 +971,13 @@
error << "SIGFPE";
break;
#endif
+#ifndef __HAIKU__
#ifdef SIGBUS
case SIGBUS:
error << "SIGBUS";
break;
#endif
+#endif
#ifdef SIGSEGV
case SIGSEGV:
error << "SIGSEGV";
@@ -1696,7 +1699,7 @@
}
// no fchmod on BeOS 5...do pathname instead.
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode))
{
return -1;
diff -urN cmake-2.6.1/Source/kwsys/DynamicLoader.cxx cmake-2.6.1-haiku/Source/kwsys/DynamicLoader.cxx
--- cmake-2.6.1/Source/kwsys/DynamicLoader.cxx 2008-08-01 15:34:54.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/DynamicLoader.cxx 2008-09-12 15:07:33.000000000 +0000
@@ -335,11 +335,21 @@
#endif //_WIN32
// ---------------------------------------------------------------
-// 4. Implementation for BeOS
-#ifdef __BEOS__
+// 4. Implementation for BeOS / Haiku
+#if defined __BEOS__ || defined(__HAIKU__)
+
#include <string.h> // for strerror()
+
+#ifdef __BEOS__
#include <be/kernel/image.h>
#include <be/support/Errors.h>
+#endif
+
+#ifdef __HAIKU__
+#include <os/kernel/image.h>
+#include <os/support/Errors.h>
+#endif
+
#define DYNAMICLOADER_DEFINED 1
namespace KWSYS_NAMESPACE
diff -urN cmake-2.6.1/Source/kwsys/ProcessUNIX.c cmake-2.6.1-haiku/Source/kwsys/ProcessUNIX.c
--- cmake-2.6.1/Source/kwsys/ProcessUNIX.c 2008-08-01 15:34:54.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/ProcessUNIX.c 2008-09-12 15:07:33.000000000 +0000
@@ -75,7 +75,7 @@
typedef int kwsysProcess_ssize_t;
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void kwsysProcess_usleep(unsigned int msec)
diff -urN cmake-2.6.1/Source/kwsys/SystemTools.cxx cmake-2.6.1-haiku/Source/kwsys/SystemTools.cxx
--- cmake-2.6.1/Source/kwsys/SystemTools.cxx 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/SystemTools.cxx 2008-09-12 15:07:33.000000000 +0000
@@ -131,7 +131,12 @@
#define _chdir chdir
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h>
+#include <os/storage/Path.h>
+#endif
+
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff -urN cmake-2.6.1/Source/kwsys/testDynamicLoader.cxx cmake-2.6.1-haiku/Source/kwsys/testDynamicLoader.cxx
--- cmake-2.6.1/Source/kwsys/testDynamicLoader.cxx 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/testDynamicLoader.cxx 2008-09-12 15:07:33.000000000 +0000
@@ -17,10 +17,14 @@
#include KWSYS_HEADER(ios/iostream)
#include KWSYS_HEADER(stl/string)
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
diff -urN cmake-2.6.1/Source/kwsys/testProcess.c cmake-2.6.1-haiku/Source/kwsys/testProcess.c
--- cmake-2.6.1/Source/kwsys/testProcess.c 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/testProcess.c 2008-09-12 15:07:33.000000000 +0000
@@ -34,7 +34,7 @@
# pragma warn -8060 /* possibly incorrect assignment */
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void testProcess_usleep(unsigned int msec)
diff -urN cmake-2.6.1/Tests/Complex/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/Complex/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/Complex/Library/CMakeLists.txt 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/Complex/Library/CMakeLists.txt 2008-09-12 15:07:33.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ IF(NOT HAIKU) # libm in included in libroot on Haiku
+ SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Tests/ComplexOneConfig/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/ComplexOneConfig/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/ComplexOneConfig/Library/CMakeLists.txt 2008-08-01 15:34:56.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/ComplexOneConfig/Library/CMakeLists.txt 2008-09-12 15:07:33.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
+ IF(NOT HAIKU) # No limb on Haiku.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Tests/ComplexRelativePaths/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/ComplexRelativePaths/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/ComplexRelativePaths/Library/CMakeLists.txt 2008-08-01 15:34:56.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/ComplexRelativePaths/Library/CMakeLists.txt 2008-09-12 15:07:33.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
+ IF(NOT HAIKU) # No libm on Haiku.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Utilities/cmcurl/CMake/CurlTests.c cmake-2.6.1-haiku/Utilities/cmcurl/CMake/CurlTests.c
--- cmake-2.6.1/Utilities/cmcurl/CMake/CurlTests.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/CMake/CurlTests.c 2008-09-12 15:07:34.000000000 +0000
@@ -38,7 +38,7 @@
# define PLATFORM_AIX_V3
#endif
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
#error "O_NONBLOCK does not work on this platform"
#endif
int socket;
diff -urN cmake-2.6.1/Utilities/cmcurl/CMakeLists.txt cmake-2.6.1-haiku/Utilities/cmcurl/CMakeLists.txt
--- cmake-2.6.1/Utilities/cmcurl/CMakeLists.txt 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/CMakeLists.txt 2008-09-12 15:07:34.000000000 +0000
@@ -165,6 +165,8 @@
CHECK_LIBRARY_EXISTS_CONCAT("bnetapi" closesocket HAVE_LIBBNETAPI)
ENDIF(BEOS)
+CHECK_LIBRARY_EXISTS_CONCAT("network" recv HAVE_LIBNETWORK)
+
IF(NOT NOT_NEED_LIBNSL)
CHECK_LIBRARY_EXISTS_CONCAT("nsl" gethostbyname HAVE_LIBNSL)
ENDIF(NOT NOT_NEED_LIBNSL)
diff -urN cmake-2.6.1/Utilities/cmcurl/curl/curl.h cmake-2.6.1-haiku/Utilities/cmcurl/curl/curl.h
--- cmake-2.6.1/Utilities/cmcurl/curl/curl.h 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/curl/curl.h 2008-09-12 15:07:34.000000000 +0000
@@ -1133,7 +1133,7 @@
}
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#include <support/SupportDefs.h>
#endif
diff -urN cmake-2.6.1/Utilities/cmcurl/if2ip.c cmake-2.6.1-haiku/Utilities/cmcurl/if2ip.c
--- cmake-2.6.1/Utilities/cmcurl/if2ip.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/if2ip.c 2008-09-12 15:07:34.000000000 +0000
@@ -39,7 +39,7 @@
*/
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(_AMIGASF) && !defined(__minix)
+ !defined(_AMIGASF) && !defined(__minix) && !defined(__HAIKU__)
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
diff -urN cmake-2.6.1/Utilities/cmcurl/select.c cmake-2.6.1-haiku/Utilities/cmcurl/select.c
--- cmake-2.6.1/Utilities/cmcurl/select.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/select.c 2008-09-12 15:07:34.000000000 +0000
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff -urN cmake-2.6.1/Utilities/cmcurl/setup.h cmake-2.6.1-haiku/Utilities/cmcurl/setup.h
--- cmake-2.6.1/Utilities/cmcurl/setup.h 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/setup.h 2008-09-12 15:07:34.000000000 +0000
@@ -264,7 +264,7 @@
#else /* MSDOS */
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
#define sclose(x) closesocket(x)
#else /* __BEOS__ */
#define sclose(x) close(x)
diff -urN cmake-2.6.1/Utilities/cmtar/libtar.c cmake-2.6.1-haiku/Utilities/cmtar/libtar.c
--- cmake-2.6.1/Utilities/cmtar/libtar.c 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmtar/libtar.c 2008-09-12 15:07:34.000000000 +0000
@@ -98,8 +98,8 @@
{
return -1;
}
-
-#if defined(__BEOS__) && !defined(__ZETA__) /* no fchmod on BeOS...do pathname instead. */
+/* no fchmod on BeOS...do pathname instead. */
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode & 07777))
{
return -1;
diff -urN cmake-2.6.1/Utilities/cmxmlrpc/xmlrpc_curl_transport.c cmake-2.6.1-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c
--- cmake-2.6.1/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-09-12 15:07:34.000000000 +0000
@@ -10,7 +10,7 @@
#include "xmlrpc_config.h"
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
/* Some helpful system header has char==bool, then bool.h does int==bool. */
#define HAVE_BOOL 1
#endif
diff -urN cmake-2.6.1/Utilities/cmzlib/zconf.h cmake-2.6.1-haiku/Utilities/cmzlib/zconf.h
--- cmake-2.6.1/Utilities/cmzlib/zconf.h 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmzlib/zconf.h 2008-09-12 15:07:34.000000000 +0000
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__)
+#if defined (__BEOS__) && !defined (__HAIKU__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff -urN cmake-2.6.1/Utilities/cmzlib/zutil.h cmake-2.6.1-haiku/Utilities/cmzlib/zutil.h
--- cmake-2.6.1/Utilities/cmzlib/zutil.h 2008-08-01 15:34:59.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmzlib/zutil.h 2008-09-12 15:07:34.000000000 +0000
@@ -147,7 +147,13 @@
# define OS_CODE 0x0f
#endif
-#if defined(_BEOS_) || defined(RISCOS)
+/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
+/* many BeOS workarounds are no longer needed in Haiku */
+#if defined(__HAIKU__) && defined(__BEOS__)
+#undef __BEOS__
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
diff -urN cmake-2.6.1/bootstrap cmake-2.6.1-haiku/bootstrap
--- cmake-2.6.1/bootstrap 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/bootstrap 2008-09-12 15:07:34.000000000 +0000
@@ -73,6 +73,13 @@
cmake_system_beos=false
fi
+# Determine whether this is Haiku
+if echo "${cmake_system}" | grep Haiku >/dev/null 2>&1; then
+ cmake_system_haiku=true
+else
+ cmake_system_haiku=false
+fi
+
# Choose the generator to use for bootstrapping.
if ${cmake_system_mingw}; then
# Bootstrapping from an MSYS prompt.
@@ -603,6 +610,11 @@
cmake_ld_flags="${LDFLAGS} -lroot -lbe"
fi
+# Add Haiku toolkits...
+if ${cmake_system_haiku}; then
+ cmake_ld_flags="${LDFLAGS} -lroot -lbe"
+fi
+
# Test C compiler
cmake_c_compiler=

View File

@@ -1,449 +0,0 @@
diff -urN cmake-2.6.1/Modules/CMakeFortranCompilerId.F90.in cmake-2.6.1-haiku/Modules/CMakeFortranCompilerId.F90.in
--- cmake-2.6.1/Modules/CMakeFortranCompilerId.F90.in 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CMakeFortranCompilerId.F90.in 2008-08-20 13:49:06.000000000 +0000
@@ -50,6 +50,10 @@
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+ PRINT *, 'INFO:platform[Haiku]'
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
diff -urN cmake-2.6.1/Modules/CMakePlatformId.h.in cmake-2.6.1-haiku/Modules/CMakePlatformId.h.in
--- cmake-2.6.1/Modules/CMakePlatformId.h.in 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CMakePlatformId.h.in 2008-08-20 13:49:06.000000000 +0000
@@ -35,6 +35,11 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+# define PLATFORM_ID "Haiku"
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
+
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
diff -urN cmake-2.6.1/Modules/CheckForPthreads.c cmake-2.6.1-haiku/Modules/CheckForPthreads.c
--- cmake-2.6.1/Modules/CheckForPthreads.c 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/CheckForPthreads.c 2008-08-20 13:49:06.000000000 +0000
@@ -16,7 +16,7 @@
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
diff -urN cmake-2.6.1/Modules/Platform/Haiku.cmake cmake-2.6.1-haiku/Modules/Platform/Haiku.cmake
--- cmake-2.6.1/Modules/Platform/Haiku.cmake 1970-01-01 00:00:00.000000000 +0000
+++ cmake-2.6.1-haiku/Modules/Platform/Haiku.cmake 2008-08-20 13:49:06.000000000 +0000
@@ -0,0 +1,14 @@
+SET(BEOS 1)
+
+# GCC is the default compiler on Haiku.
+INCLUDE(${CMAKE_ROOT}/Modules/Platform/gcc.cmake)
+
+SET(CMAKE_DL_LIBS root be)
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
+
+INCLUDE(Platform/UnixPaths)
diff -urN cmake-2.6.1/Source/CPack/cmCPackGeneratorFactory.cxx cmake-2.6.1-haiku/Source/CPack/cmCPackGeneratorFactory.cxx
--- cmake-2.6.1/Source/CPack/cmCPackGeneratorFactory.cxx 2008-08-01 15:34:53.000000000 +0000
+++ cmake-2.6.1-haiku/Source/CPack/cmCPackGeneratorFactory.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -36,7 +36,7 @@
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
# include "cmCPackDebGenerator.h"
# include "cmCPackRPMGenerator.h"
#endif
@@ -75,7 +75,8 @@
cmCPackOSXX11Generator::CreateGenerator);
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__)\
+ && !defined(__HAIKU__)
this->RegisterGenerator("DEB", "Debian packages",
cmCPackDebGenerator::CreateGenerator);
this->RegisterGenerator("RPM", "RPM packages",
diff -urN cmake-2.6.1/Source/cmCTest.cxx cmake-2.6.1-haiku/Source/cmCTest.cxx
--- cmake-2.6.1/Source/cmCTest.cxx 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmCTest.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -49,10 +49,15 @@
#include <memory> // auto_ptr
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
+
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
@@ -607,7 +612,7 @@
cmSystemTools::PutEnv("DASHBOARD_TEST_FROM_CTEST=" CMake_VERSION);
#if defined(_WIN32)
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
-#elif defined(__BEOS__)
+#elif defined(__BEOS__) || defined(__HAIKU__)
disable_debugger(1);
#endif
}
diff -urN cmake-2.6.1/Source/cmDependsJavaLexer.cxx cmake-2.6.1-haiku/Source/cmDependsJavaLexer.cxx
--- cmake-2.6.1/Source/cmDependsJavaLexer.cxx 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmDependsJavaLexer.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -23,7 +23,7 @@
#include <errno.h>
#include <stdlib.h>
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined (__HAIKU__)
#include <unistd.h> /* prevents a conflict with a #define later on... */
#endif
diff -urN cmake-2.6.1/Source/cmDependsJavaLexer.h cmake-2.6.1-haiku/Source/cmDependsJavaLexer.h
--- cmake-2.6.1/Source/cmDependsJavaLexer.h 2008-08-01 15:34:51.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmDependsJavaLexer.h 2008-08-20 13:49:06.000000000 +0000
@@ -38,7 +38,7 @@
#include <errno.h>
#include <stdlib.h>
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <unistd.h> /* prevents a conflict with a #define later on... */
#endif
diff -urN cmake-2.6.1/Source/cmSystemTools.cxx cmake-2.6.1-haiku/Source/cmSystemTools.cxx
--- cmake-2.6.1/Source/cmSystemTools.cxx 2008-08-01 15:34:53.000000000 +0000
+++ cmake-2.6.1-haiku/Source/cmSystemTools.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -970,11 +970,13 @@
error << "SIGFPE";
break;
#endif
+#ifndef __HAIKU__
#ifdef SIGBUS
case SIGBUS:
error << "SIGBUS";
break;
#endif
+#endif
#ifdef SIGSEGV
case SIGSEGV:
error << "SIGSEGV";
@@ -1696,7 +1698,7 @@
}
// no fchmod on BeOS 5...do pathname instead.
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode))
{
return -1;
diff -urN cmake-2.6.1/Source/kwsys/DynamicLoader.cxx cmake-2.6.1-haiku/Source/kwsys/DynamicLoader.cxx
--- cmake-2.6.1/Source/kwsys/DynamicLoader.cxx 2008-08-01 15:34:54.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/DynamicLoader.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -335,11 +335,21 @@
#endif //_WIN32
// ---------------------------------------------------------------
-// 4. Implementation for BeOS
-#ifdef __BEOS__
+// 4. Implementation for BeOS / Haiku
+#if defined __BEOS__ || defined(__HAIKU__)
+
#include <string.h> // for strerror()
+
+#ifdef __BEOS__
#include <be/kernel/image.h>
#include <be/support/Errors.h>
+#endif
+
+#ifdef __HAIKU__
+#include <os/kernel/image.h>
+#include <os/support/Errors.h>
+#endif
+
#define DYNAMICLOADER_DEFINED 1
namespace KWSYS_NAMESPACE
diff -urN cmake-2.6.1/Source/kwsys/ProcessUNIX.c cmake-2.6.1-haiku/Source/kwsys/ProcessUNIX.c
--- cmake-2.6.1/Source/kwsys/ProcessUNIX.c 2008-08-01 15:34:54.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/ProcessUNIX.c 2008-08-20 13:49:06.000000000 +0000
@@ -75,7 +75,7 @@
typedef int kwsysProcess_ssize_t;
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void kwsysProcess_usleep(unsigned int msec)
@@ -2534,6 +2534,7 @@
}
/* If this is the first process, enable the signal handler. */
+#ifndef __HAIKU__
if(newProcesses.Count == 1)
{
/* Install our handler for SIGCHLD. Repeat call until it is not
@@ -2554,6 +2555,7 @@
&kwsysProcessesOldSigChldAction) < 0) &&
(errno == EINTR));
}
+#endif
}
return 1;
diff -urN cmake-2.6.1/Source/kwsys/SystemTools.cxx cmake-2.6.1-haiku/Source/kwsys/SystemTools.cxx
--- cmake-2.6.1/Source/kwsys/SystemTools.cxx 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/SystemTools.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -131,7 +131,12 @@
#define _chdir chdir
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h>
+#include <os/storage/Path.h>
+#endif
+
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff -urN cmake-2.6.1/Source/kwsys/testDynamicLoader.cxx cmake-2.6.1-haiku/Source/kwsys/testDynamicLoader.cxx
--- cmake-2.6.1/Source/kwsys/testDynamicLoader.cxx 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/testDynamicLoader.cxx 2008-08-20 13:49:06.000000000 +0000
@@ -17,10 +17,14 @@
#include KWSYS_HEADER(ios/iostream)
#include KWSYS_HEADER(stl/string)
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
diff -urN cmake-2.6.1/Source/kwsys/testProcess.c cmake-2.6.1-haiku/Source/kwsys/testProcess.c
--- cmake-2.6.1/Source/kwsys/testProcess.c 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Source/kwsys/testProcess.c 2008-08-20 13:49:06.000000000 +0000
@@ -34,7 +34,7 @@
# pragma warn -8060 /* possibly incorrect assignment */
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void testProcess_usleep(unsigned int msec)
diff -urN cmake-2.6.1/Tests/Complex/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/Complex/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/Complex/Library/CMakeLists.txt 2008-08-01 15:34:55.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/Complex/Library/CMakeLists.txt 2008-08-20 13:49:06.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ IF(NOT HAIKU) # libm in included in libroot on Haiku
+ SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Tests/ComplexOneConfig/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/ComplexOneConfig/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/ComplexOneConfig/Library/CMakeLists.txt 2008-08-01 15:34:56.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/ComplexOneConfig/Library/CMakeLists.txt 2008-08-20 13:49:06.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
+ IF(NOT HAIKU) # No limb on Haiku.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Tests/ComplexRelativePaths/Library/CMakeLists.txt cmake-2.6.1-haiku/Tests/ComplexRelativePaths/Library/CMakeLists.txt
--- cmake-2.6.1/Tests/ComplexRelativePaths/Library/CMakeLists.txt 2008-08-01 15:34:56.000000000 +0000
+++ cmake-2.6.1-haiku/Tests/ComplexRelativePaths/Library/CMakeLists.txt 2008-08-20 13:49:07.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
+ IF(NOT HAIKU) # No libm on Haiku.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -urN cmake-2.6.1/Utilities/cmcurl/CMake/CurlTests.c cmake-2.6.1-haiku/Utilities/cmcurl/CMake/CurlTests.c
--- cmake-2.6.1/Utilities/cmcurl/CMake/CurlTests.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/CMake/CurlTests.c 2008-08-20 13:49:07.000000000 +0000
@@ -38,7 +38,7 @@
# define PLATFORM_AIX_V3
#endif
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
#error "O_NONBLOCK does not work on this platform"
#endif
int socket;
diff -urN cmake-2.6.1/Utilities/cmcurl/curl/curl.h cmake-2.6.1-haiku/Utilities/cmcurl/curl/curl.h
--- cmake-2.6.1/Utilities/cmcurl/curl/curl.h 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/curl/curl.h 2008-08-20 13:49:07.000000000 +0000
@@ -1133,7 +1133,7 @@
}
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#include <support/SupportDefs.h>
#endif
diff -urN cmake-2.6.1/Utilities/cmcurl/if2ip.c cmake-2.6.1-haiku/Utilities/cmcurl/if2ip.c
--- cmake-2.6.1/Utilities/cmcurl/if2ip.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/if2ip.c 2008-08-20 13:49:07.000000000 +0000
@@ -39,7 +39,7 @@
*/
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(_AMIGASF) && !defined(__minix)
+ !defined(_AMIGASF) && !defined(__minix) && !defined(__HAIKU__)
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
diff -urN cmake-2.6.1/Utilities/cmcurl/select.c cmake-2.6.1-haiku/Utilities/cmcurl/select.c
--- cmake-2.6.1/Utilities/cmcurl/select.c 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/select.c 2008-08-20 13:49:07.000000000 +0000
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff -urN cmake-2.6.1/Utilities/cmcurl/setup.h cmake-2.6.1-haiku/Utilities/cmcurl/setup.h
--- cmake-2.6.1/Utilities/cmcurl/setup.h 2008-08-01 15:34:57.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmcurl/setup.h 2008-08-20 13:49:07.000000000 +0000
@@ -264,7 +264,7 @@
#else /* MSDOS */
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
#define sclose(x) closesocket(x)
#else /* __BEOS__ */
#define sclose(x) close(x)
diff -urN cmake-2.6.1/Utilities/cmtar/libtar.c cmake-2.6.1-haiku/Utilities/cmtar/libtar.c
--- cmake-2.6.1/Utilities/cmtar/libtar.c 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmtar/libtar.c 2008-08-20 13:49:07.000000000 +0000
@@ -98,8 +98,8 @@
{
return -1;
}
-
-#if defined(__BEOS__) && !defined(__ZETA__) /* no fchmod on BeOS...do pathname instead. */
+/* no fchmod on BeOS...do pathname instead. */
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode & 07777))
{
return -1;
diff -urN cmake-2.6.1/Utilities/cmxmlrpc/xmlrpc_curl_transport.c cmake-2.6.1-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c
--- cmake-2.6.1/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-08-20 13:49:07.000000000 +0000
@@ -10,7 +10,7 @@
#include "xmlrpc_config.h"
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
/* Some helpful system header has char==bool, then bool.h does int==bool. */
#define HAVE_BOOL 1
#endif
diff -urN cmake-2.6.1/Utilities/cmzlib/zconf.h cmake-2.6.1-haiku/Utilities/cmzlib/zconf.h
--- cmake-2.6.1/Utilities/cmzlib/zconf.h 2008-08-01 15:34:58.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmzlib/zconf.h 2008-08-20 13:49:07.000000000 +0000
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__)
+#if defined (__BEOS__) && !defined (__HAIKU__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff -urN cmake-2.6.1/Utilities/cmzlib/zutil.h cmake-2.6.1-haiku/Utilities/cmzlib/zutil.h
--- cmake-2.6.1/Utilities/cmzlib/zutil.h 2008-08-01 15:34:59.000000000 +0000
+++ cmake-2.6.1-haiku/Utilities/cmzlib/zutil.h 2008-08-20 13:49:07.000000000 +0000
@@ -147,7 +147,13 @@
# define OS_CODE 0x0f
#endif
-#if defined(_BEOS_) || defined(RISCOS)
+/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
+/* many BeOS workarounds are no longer needed in Haiku */
+#if defined(__HAIKU__) && defined(__BEOS__)
+undef (__BEOS__)
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
diff -urN cmake-2.6.1/bootstrap cmake-2.6.1-haiku/bootstrap
--- cmake-2.6.1/bootstrap 2008-08-01 15:34:50.000000000 +0000
+++ cmake-2.6.1-haiku/bootstrap 2008-08-20 13:49:07.000000000 +0000
@@ -73,6 +73,13 @@
cmake_system_beos=false
fi
+# Determine whether this is Haiku
+if echo "${cmake_system}" | grep Haiku >/dev/null 2>&1; then
+ cmake_system_haiku=true
+else
+ cmake_system_haiku=false
+fi
+
# Choose the generator to use for bootstrapping.
if ${cmake_system_mingw}; then
# Bootstrapping from an MSYS prompt.
@@ -603,6 +610,11 @@
cmake_ld_flags="${LDFLAGS} -lroot -lbe"
fi
+# Add Haiku toolkits...
+if ${cmake_system_haiku}; then
+ cmake_ld_flags="${LDFLAGS} -lroot -lbe"
+fi
+
# Test C compiler
cmake_c_compiler=

View File

@@ -1,14 +0,0 @@
diff -urN cmake-2.8.1/bootstrap cmake-2.8.1-haiku/bootstrap
--- cmake-2.8.1/bootstrap 2010-04-06 14:45:29.040370176 +0000
+++ cmake-2.8.1-haiku/bootstrap 2010-08-31 05:39:55.518520832 +0000
@@ -132,7 +132,9 @@
cmake_default_prefix="c:/Program Files/CMake"
fi
elif ${cmake_system_haiku}; then
- cmake_default_prefix=`/bin/finddir B_COMMON_DIRECTORY`
+ cmake_default_prefix=`finddir B_COMMON_DIRECTORY`
+ cmake_man_dir="/documentation/man"
+ cmake_doc_dir="/documentation/doc/cmake-${cmake_version}"
else
cmake_default_prefix="/usr/local"
fi

View File

@@ -0,0 +1,549 @@
From 2e3be20216cac12e4e6ace37d132bdc0b5b68b21 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Oct 2013 16:26:02 +0200
Subject: Several fixes to Haiku platform module
* Do not define BEOS anymore (this includes workarounds which we don't
need most of the time in Haiku, so we prefer opt-in IF(HAIKU) in the
cmake files instead).
* On the other hand, do define UNIX (we are trying to be compliant) and
HAIKU (there is still a number of things we don't do like the
average UNIX clone)
* Do not use UnixPaths, as our filesystem hierarchy isn't anything like
what it expects.
* Do not use -nostart, which the compiler doesn't know about anymore.
This used to be an Haiku extension to gcc, and is equivalent to
-shared which is the default gcc option.
* While "dl" functions are provided in libroot, this is always
implicitly linked so there is no need to tell cmake about it.
* Forcing position-independent code is not needed, so remove it.
* On the other hand, include appropriate linker options for executables
and shared libraries.
* Support for the two available compilers in Haiku (gcc2 and gcc4) and
pick the right headers and libraries according to the currently
selected one.
* With the adoption of the package manager, the directory layout was
changed. Tell cmake where to look for header files and libraries.
* As we don't define BEOS anymore, enable the workaround we still need
for HAIKU as well. This is the lack of a libm (it is part of the
implicitly linked in libroot)
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index a2bf0c0..770e93a 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -54,7 +54,7 @@ find_library(LUA_LIBRARY
if(LUA_LIBRARY)
# include the math library for Unix
- if(UNIX AND NOT APPLE AND NOT BEOS)
+ if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
find_library(LUA_MATH_LIBRARY m)
set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
# For Windows and Mac, don't need to explicitly include the math library
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 8987783..825f851 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -1,22 +1,123 @@
-set(BEOS 1)
+# process only once
+if(HAIKU)
+ return()
+endif()
+
+set(HAIKU 1)
+set(UNIX 1)
-set(CMAKE_DL_LIBS root be)
-set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
-set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+set(CMAKE_DL_LIBS "")
set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+
+# Determine, if the C or C++ compiler is configured for a secondary
+# architecture. If so, that will change the search paths we set below. We check
+# whether the compiler's library search paths contain a
+# "/boot/system/develop/lib/<subdir>/", which we assume to be the secondary
+# architecture specific subdirectory and extract the name of the architecture
+# accordingly.
+set(__HAIKU_COMPILER ${CMAKE_C_COMPILER})
+
+if(NOT __HAIKU_COMPILER)
+ set(__HAIKU_COMPILER ${CMAKE_CXX_COMPILER})
+endif()
+
+execute_process(
+ COMMAND ${__HAIKU_COMPILER} -print-search-dirs
+ OUTPUT_VARIABLE _HAIKU_SEARCH_DIRS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+string(REGEX MATCH ".*\nlibraries: =?([^\n]*:)?/boot/system/develop/lib/([^/]*)/(:[^\n]*)?\n.*" _dummy "\n${_HAIKU_SEARCH_DIRS}\n")
+set(CMAKE_HAIKU_SECONDARY_ARCH "${CMAKE_MATCH_2}")
+
+if(NOT CMAKE_HAIKU_SECONDARY_ARCH)
+ set(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "")
+ unset(CMAKE_HAIKU_SECONDARY_ARCH)
+else()
+ set(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "/${CMAKE_HAIKU_SECONDARY_ARCH}")
+
+ # Override CMAKE_*LIBRARY_ARCHITECTURE. This will cause FIND_LIBRARY to search
+ # the libraries in the correct subdirectory first. It still isn't completely
+ # correct, since the parent directories shouldn't be searched at all. The
+ # primary architecture library might still be found, if there isn't one
+ # installed for the secondary architecture or it is installed in a less
+ # specific location.
+ set(CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+ set(CMAKE_C_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+ set(CMAKE_CXX_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+endif()
+
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ /boot/common/non-packaged
+ /boot/common
+ /boot/system
+ )
+
+LIST(APPEND CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES
+ /boot/common/non-packaged/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/common/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/system/develop/headers/os
+ /boot/system/develop/headers/os/app
+ /boot/system/develop/headers/os/device
+ /boot/system/develop/headers/os/drivers
+ /boot/system/develop/headers/os/game
+ /boot/system/develop/headers/os/interface
+ /boot/system/develop/headers/os/kernel
+ /boot/system/develop/headers/os/locale
+ /boot/system/develop/headers/os/mail
+ /boot/system/develop/headers/os/media
+ /boot/system/develop/headers/os/midi
+ /boot/system/develop/headers/os/midi2
+ /boot/system/develop/headers/os/net
+ /boot/system/develop/headers/os/opengl
+ /boot/system/develop/headers/os/storage
+ /boot/system/develop/headers/os/support
+ /boot/system/develop/headers/os/translation
+ /boot/system/develop/headers/os/add-ons/graphics
+ /boot/system/develop/headers/os/add-ons/input_server
+ /boot/system/develop/headers/os/add-ons/screen_saver
+ /boot/system/develop/headers/os/add-ons/tracker
+ /boot/system/develop/headers/os/be_apps/Deskbar
+ /boot/system/develop/headers/os/be_apps/NetPositive
+ /boot/system/develop/headers/os/be_apps/Tracker
+ /boot/system/develop/headers/3rdparty
+ /boot/system/develop/headers/bsd
+ /boot/system/develop/headers/glibc
+ /boot/system/develop/headers/gnu
+ /boot/system/develop/headers/posix
+ /boot/system/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ )
+IF (CMAKE_HAIKU_SECONDARY_ARCH)
+ LIST(APPEND CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES
+ /boot/system/develop/headers
+ )
+ENDIF (CMAKE_HAIKU_SECONDARY_ARCH)
+
+LIST(APPEND CMAKE_HAIKU_C_INCLUDE_DIRECTORIES
+ ${CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES}
+ )
+
+LIST(APPEND CMAKE_HAIKU_CXX_INCLUDE_DIRECTORIES
+ ${CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES})
+
+LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_HAIKU_C_INCLUDE_DIRECTORIES})
+
+LIST(APPEND CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES
+ /boot/common/non-packaged/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/common/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/system/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ )
+
+LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES}
+ )
-include(Platform/UnixPaths)
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH /boot/common)
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/common/include)
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/common/lib)
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH /boot/common/bin)
-list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES /boot/common/lib)
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/develop/headers/3rdparty)
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/develop/lib/x86)
+LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES})
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "/boot/common" CACHE PATH
diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt
index 5c43052..f00cbd6 100644
--- a/Tests/Complex/Library/CMakeLists.txt
+++ b/Tests/Complex/Library/CMakeLists.txt
@@ -51,7 +51,7 @@ define_property(
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
set_target_properties(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-if(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+if(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS.
set_target_properties(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
endif()
get_target_property(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
diff --git a/Tests/ComplexOneConfig/Library/CMakeLists.txt b/Tests/ComplexOneConfig/Library/CMakeLists.txt
index 5c43052..f00cbd6 100644
--- a/Tests/ComplexOneConfig/Library/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/Library/CMakeLists.txt
@@ -51,7 +51,7 @@ define_property(
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
set_target_properties(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-if(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+if(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS.
set_target_properties(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
endif()
get_target_property(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
--
1.8.3.4
From e1f3d70eb59d4e87438c2b792a0d64dc2805218d Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Oct 2013 16:31:36 +0200
Subject: Remove use of B_COMMON_DIRECTORY
* The common directory was removed in Haiku. Applications are now
installed in the system directory.
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx
index 7cc1522..de394a6 100644
--- a/Source/CPack/cmCPackGenerator.cxx
+++ b/Source/CPack/cmCPackGenerator.cxx
@@ -26,7 +26,8 @@
#include <algorithm>
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
//----------------------------------------------------------------------
@@ -1263,14 +1264,14 @@ const char* cmCPackGenerator::GetInstallPath()
this->InstallPath += "-";
this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION");
#elif defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK)
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_SYSTEM_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK)
{
- this->InstallPath = dir.Path();
+ this->InstallPath = dir;
}
else
{
- this->InstallPath = "/boot/common";
+ this->InstallPath = "/boot/system";
}
#else
this->InstallPath = "/usr/local/";
diff --git a/Source/cmExportCommand.cxx b/Source/cmExportCommand.cxx
index 1cc1754..fcb66a7 100644
--- a/Source/cmExportCommand.cxx
+++ b/Source/cmExportCommand.cxx
@@ -20,7 +20,8 @@
#include "cmExportBuildFileGenerator.h"
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
cmExportCommand::cmExportCommand()
@@ -305,14 +306,15 @@ void cmExportCommand::StorePackageRegistryDir(std::string const& package,
const char* hash)
{
#if defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) != B_OK)
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) !=
+ B_OK)
{
return;
}
- dir.Append("cmake/packages");
- dir.Append(package.c_str());
- std::string fname = dir.Path();
+ std::string fname = dir;
+ fname += "/cmake/packages/";
+ fname += package;
#else
const char* home = cmSystemTools::GetEnv("HOME");
if(!home)
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index aa3a73d..1d6530f 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -19,7 +19,9 @@
#endif
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <string.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
void cmFindPackageNeedBackwardsCompatibility(const std::string& variable,
@@ -1584,12 +1586,14 @@ void cmFindPackageCommand::AddPrefixesUserRegistry()
#if defined(_WIN32) && !defined(__CYGWIN__)
this->LoadPackageRegistryWinUser();
#elif defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) == B_OK)
- {
- dir.Append("cmake/packages");
- dir.Append(this->Name.c_str());
- this->LoadPackageRegistryDir(dir.Path());
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) ==
+ B_OK)
+ {
+ std::string fname = dir;
+ fname += "/cmake/packages/";
+ fname += Name;
+ this->LoadPackageRegistryDir(fname);
}
#else
if(const char* home = cmSystemTools::GetEnv("HOME"))
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index ee5b9d8..1369dab 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -37,7 +37,8 @@
#include <assert.h>
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
cmLocalGenerator::cmLocalGenerator()
@@ -354,16 +355,16 @@ void cmLocalGenerator::GenerateInstallRules()
prefix = prefix_win32.c_str();
}
#elif defined(__HAIKU__)
+ char dir[B_PATH_NAME_LENGTH];
if (!prefix)
{
- BPath dir;
- if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK)
+ if (find_directory(B_SYSTEM_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK)
{
- prefix = dir.Path();
+ prefix = dir;
}
else
{
- prefix = "/boot/common";
+ prefix = "/boot/system";
}
}
#else
--
1.8.3.4
From a2d6be58cf08774f05427d90de2c0ed7179d16e3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Oct 2013 16:33:52 +0200
Subject: Remove useless preprocessor checks
* Haiku does not define __BEOS__ anymore, so there is no need to guard
these BeOS specific workaround for Haiku.
* The workaround themselves are not needed for Haiku as it has much
better POSIX compatibility than BeOS did.
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index 8b25d60..51dba3c 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -152,11 +152,6 @@ public:
#define _chdir chdir
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h>
-#include <os/storage/Path.h>
-#endif
-
#if defined(__BEOS__) && !defined(__ZETA__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff --git a/Utilities/cmcurl/CMake/CurlTests.c b/Utilities/cmcurl/CMake/CurlTests.c
index d74a4f0..c5ba7c2 100644
--- a/Utilities/cmcurl/CMake/CurlTests.c
+++ b/Utilities/cmcurl/CMake/CurlTests.c
@@ -38,7 +38,7 @@ main ()
# define PLATFORM_AIX_V3
#endif
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
#error "O_NONBLOCK does not work on this platform"
#endif
int socket;
diff --git a/Utilities/cmcurl/select.c b/Utilities/cmcurl/select.c
index 51adbcf..82f9dc2 100644
--- a/Utilities/cmcurl/select.c
+++ b/Utilities/cmcurl/select.c
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#if defined(__BEOS__) && !defined(__HAIKU__)
+#if defined(__BEOS__)
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff --git a/Utilities/cmzlib/zconf.h b/Utilities/cmzlib/zconf.h
index 6eb52d1..7a3b6fd 100644
--- a/Utilities/cmzlib/zconf.h
+++ b/Utilities/cmzlib/zconf.h
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__) && !defined (__HAIKU__)
+#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff --git a/Utilities/cmzlib/zutil.h b/Utilities/cmzlib/zutil.h
index 74ef1f8..3053cd8 100644
--- a/Utilities/cmzlib/zutil.h
+++ b/Utilities/cmzlib/zutil.h
@@ -147,12 +147,6 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# define OS_CODE 0x0f
#endif
-/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
-/* many BeOS workarounds are no longer needed in Haiku */
-#if defined(__HAIKU__) && defined(__BEOS__)
-#undef __BEOS__
-#endif
-
#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
--
1.8.3.4
From abc2262574468318d404a9d4271a818926aab507 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Oct 2013 16:59:25 +0200
Subject: Include files cleanup
* No need to use a different path from the BeOS one, which still works.
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 322a6a2..2aaedec 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -53,14 +53,10 @@
#include <cm_zlib.h>
#include <cmsys/Base64.h>
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h> /* disable_debugger() API. */
-#endif
-
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
diff --git a/Source/kwsys/testDynamicLoader.cxx b/Source/kwsys/testDynamicLoader.cxx
index 61c1572..fc0215e 100644
--- a/Source/kwsys/testDynamicLoader.cxx
+++ b/Source/kwsys/testDynamicLoader.cxx
@@ -15,14 +15,10 @@
#include KWSYS_HEADER(ios/iostream)
#include KWSYS_HEADER(stl/string)
-#if defined(__BEOS__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h> /* disable_debugger() API. */
-#endif
-
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
--
1.8.3.4
From b932917065447fbd619e642a67ab294a17ffc97c Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Oct 2013 17:01:03 +0200
Subject: FindSDL: Fix broken include paths
* I asked the CMake community about this, and they couldn't even figure
out how this worked even on other platforms.
diff --git a/Modules/FindSDL.cmake b/Modules/FindSDL.cmake
index fec142e..6adec1f 100644
--- a/Modules/FindSDL.cmake
+++ b/Modules/FindSDL.cmake
@@ -70,7 +70,7 @@
find_path(SDL_INCLUDE_DIR SDL.h
HINTS
ENV SDLDIR
- PATH_SUFFIXES include/SDL include/SDL12 include/SDL11 include
+ PATH_SUFFIXES SDL SDL12 SDL11
)
# SDL-1.1 is the name used by FreeBSD ports...
--
1.8.3.4
From ff28e08e29c0d54d794185ada1ddf496b41285e0 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Mon, 14 Oct 2013 09:35:02 +0200
Subject: Enable command-line length limitation on Haiku.
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index 7e48cd7..3d15900 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -563,7 +563,7 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
cmSystemTools::GetEnv(forceRspFile) == 0) {
#ifdef _WIN32
commandLineLengthLimit = 8000 - linkRuleLength;
-#elif defined(__linux) || defined(__APPLE__)
+#elif defined(__linux) || defined(__APPLE__) || defined(__HAIKU__)
// for instance ARG_MAX is 2096152 on Ubuntu or 262144 on Mac
commandLineLengthLimit = ((int)sysconf(_SC_ARG_MAX))-linkRuleLength-1000;
#else
--
1.8.3.4

View File

@@ -1,14 +0,0 @@
diff -urN cmake-2.8.2/bootstrap cmake-2.8.2-haiku/bootstrap
--- cmake-2.8.2/bootstrap 2010-04-06 14:45:29.040370176 +0000
+++ cmake-2.8.2-haiku/bootstrap 2010-08-31 05:39:55.518520832 +0000
@@ -132,7 +132,9 @@
cmake_default_prefix="c:/Program Files/CMake"
fi
elif ${cmake_system_haiku}; then
- cmake_default_prefix=`/bin/finddir B_COMMON_DIRECTORY`
+ cmake_default_prefix=`finddir B_COMMON_DIRECTORY`
+ cmake_man_dir="/documentation/man"
+ cmake_doc_dir="/documentation/doc/cmake-${cmake_version}"
else
cmake_default_prefix="/usr/local"
fi

View File

@@ -1,116 +0,0 @@
diff -urN cmake-2.8.3/Modules/FindGLUT.cmake cmake-2.8.3-haiku/Modules/FindGLUT.cmake
--- cmake-2.8.3/Modules/FindGLUT.cmake 2010-11-03 19:58:27.020971520 +0000
+++ cmake-2.8.3-haiku/Modules/FindGLUT.cmake 2011-01-29 10:22:22.032505856 +0000
@@ -46,12 +46,15 @@
/usr/openwin/include
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
+ /boot/develop/headers/os/opengl
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut
/usr/openwin/lib
+ /boot/develop/lib/x86/ 
)
-
+
+ IF(NOT BEOS)
FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
/usr/openwin/lib
)
@@ -59,6 +62,7 @@
FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
/usr/openwin/lib
)
+ ENDIF(NOT BEOS)
ENDIF (APPLE)
@@ -69,12 +73,18 @@
IF(GLUT_glut_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
+ IF(BEOS)
+ SET( GLUT_LIBRARIES
+ ${GLUT_glut_LIBRARY}
+ )
+ ELSE(BEOS)
SET( GLUT_LIBRARIES
${GLUT_glut_LIBRARY}
${GLUT_Xmu_LIBRARY}
${GLUT_Xi_LIBRARY}
${GLUT_cocoa_LIBRARY}
)
+ ENDIF(BEOS)
SET( GLUT_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
@@ -84,9 +94,16 @@
ENDIF(GLUT_glut_LIBRARY)
ENDIF(GLUT_INCLUDE_DIR)
+IF(BEOS)
+MARK_AS_ADVANCED(
+ GLUT_INCLUDE_DIR
+ GLUT_glut_LIBRARY
+ )
+ELSE(BEOS)
MARK_AS_ADVANCED(
GLUT_INCLUDE_DIR
GLUT_glut_LIBRARY
GLUT_Xmu_LIBRARY
GLUT_Xi_LIBRARY
)
+ENDIF(BEOS)
diff -urN cmake-2.8.3/Modules/FindLua51.cmake cmake-2.8.3-haiku/Modules/FindLua51.cmake
--- cmake-2.8.3/Modules/FindLua51.cmake 2010-11-03 19:58:27.023330816 +0000
+++ cmake-2.8.3-haiku/Modules/FindLua51.cmake 2011-01-29 10:22:22.035127296 +0000
@@ -57,13 +57,13 @@
IF(LUA_LIBRARY)
# include the math library for Unix
- IF(UNIX AND NOT APPLE)
+ IF(UNIX AND NOT APPLE AND NOT BEOS)
FIND_LIBRARY(LUA_MATH_LIBRARY m)
SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
# For Windows and Mac, don't need to explicitly include the math library
ELSE(UNIX AND NOT APPLE)
SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
- ENDIF(UNIX AND NOT APPLE)
+ ENDIF(UNIX AND NOT APPLE AND NOT BEOS)
ENDIF(LUA_LIBRARY)
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake")
diff -urN cmake-2.8.3/Modules/FindOpenGL.cmake cmake-2.8.3-haiku/Modules/FindOpenGL.cmake
--- cmake-2.8.3/Modules/FindOpenGL.cmake 2010-11-03 19:58:27.024117248 +0000
+++ cmake-2.8.3-haiku/Modules/FindOpenGL.cmake 2011-01-29 10:22:22.035913728 +0000
@@ -80,6 +80,7 @@
/usr/share/doc/NVIDIA_GLX-1.0/include
/usr/openwin/share/include
/opt/graphics/OpenGL/include /usr/X11R6/include
+ /boot/develop/headers/os/opengl
)
FIND_PATH(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
@@ -94,6 +95,7 @@
/usr/openwin/lib
/usr/shlib /usr/X11R6/lib
${HPUX_IA_OPENGL_LIB_PATH}
+ /boot/develop/lib/x86/
)
# On Unix OpenGL most certainly always requires X11.
diff -urN cmake-2.8.3/bootstrap cmake-2.8.3-haiku/bootstrap
--- cmake-2.8.3/bootstrap 2010-11-03 19:58:26.058720256 +0000
+++ cmake-2.8.3-haiku/bootstrap 2011-01-29 10:22:22.031981568 +0000
@@ -137,7 +137,9 @@
cmake_default_prefix="c:/Program Files/CMake"
fi
elif ${cmake_system_haiku}; then
- cmake_default_prefix=`/bin/finddir B_COMMON_DIRECTORY`
+ cmake_default_prefix=`finddir B_COMMON_DIRECTORY`
+ cmake_man_dir="/documentation/man"
+ cmake_doc_dir="/documentation/doc/cmake-${cmake_version}"
else
cmake_default_prefix="/usr/local"
fi

View File

@@ -0,0 +1,664 @@
From 63b3bcd0d6804a07fe94d9af0fc7a7810fab538d Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Sun, 16 Jun 2013 21:42:39 +0200
Subject: Haiku specific changes
diff --git a/Modules/CMakeFortranCompilerId.F.in b/Modules/CMakeFortranCompilerId.F.in
index 4d25de0..f84852a 100644
--- a/Modules/CMakeFortranCompilerId.F.in
+++ b/Modules/CMakeFortranCompilerId.F.in
@@ -74,12 +74,8 @@
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
-#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+#elif defined(__HAIKU__)
PRINT *, 'INFO:platform[Haiku]'
-# if 0
-! Haiku also defines __BEOS__ so we must
-! put it prior to the check for __BEOS__
-# endif
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index cb3f40a..db98bc3 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -35,11 +35,8 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
-#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
-/* Haiku also defines __BEOS__ so we must
- put it prior to the check for __BEOS__
-*/
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
diff --git a/Modules/CheckForPthreads.c b/Modules/CheckForPthreads.c
index d831078..02526fb 100644
--- a/Modules/CheckForPthreads.c
+++ b/Modules/CheckForPthreads.c
@@ -16,7 +16,7 @@ int main(int ac, char*av[]){
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
+#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake
index af88997..8c0a733 100644
--- a/Modules/FindGLUT.cmake
+++ b/Modules/FindGLUT.cmake
@@ -46,20 +46,22 @@ ELSE (WIN32)
/usr/openwin/include
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
+ /boot/system/develop/headers/os/opengl
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut
/usr/openwin/lib
)
-
- FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
- /usr/openwin/lib
- )
-
- FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
- /usr/openwin/lib
- )
-
+
+ IF(NOT BEOS AND NOT HAIKU)
+ FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
+ /usr/openwin/lib
+ )
+
+ FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
+ /usr/openwin/lib
+ )
+ ENDIF(NOT BEOS AND NOT HAIKU)
ENDIF (APPLE)
ENDIF (WIN32)
@@ -69,12 +71,18 @@ IF(GLUT_INCLUDE_DIR)
IF(GLUT_glut_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
- SET( GLUT_LIBRARIES
- ${GLUT_glut_LIBRARY}
- ${GLUT_Xmu_LIBRARY}
- ${GLUT_Xi_LIBRARY}
- ${GLUT_cocoa_LIBRARY}
- )
+ IF(BEOS OR HAIKU)
+ SET( GLUT_LIBRARIES
+ ${GLUT_glut_LIBRARY}
+ )
+ ELSE(BEOS OR HAIKU)
+ SET( GLUT_LIBRARIES
+ ${GLUT_glut_LIBRARY}
+ ${GLUT_Xmu_LIBRARY}
+ ${GLUT_Xi_LIBRARY}
+ ${GLUT_cocoa_LIBRARY}
+ )
+ ENDIF(BEOS OR HAIKU)
SET( GLUT_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
@@ -84,9 +92,16 @@ IF(GLUT_INCLUDE_DIR)
ENDIF(GLUT_glut_LIBRARY)
ENDIF(GLUT_INCLUDE_DIR)
-MARK_AS_ADVANCED(
- GLUT_INCLUDE_DIR
- GLUT_glut_LIBRARY
- GLUT_Xmu_LIBRARY
- GLUT_Xi_LIBRARY
- )
+IF(BEOS OR HAIKU)
+ MARK_AS_ADVANCED(
+ GLUT_INCLUDE_DIR
+ GLUT_glut_LIBRARY
+ )
+ELSE(BEOS OR HAIKU)
+ MARK_AS_ADVANCED(
+ GLUT_INCLUDE_DIR
+ GLUT_glut_LIBRARY
+ GLUT_Xmu_LIBRARY
+ GLUT_Xi_LIBRARY
+ )
+ENDIF(BEOS OR HAIKU)
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index 123fd5d..5047fbd 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -57,13 +57,13 @@ FIND_LIBRARY(LUA_LIBRARY
IF(LUA_LIBRARY)
# include the math library for Unix
- IF(UNIX AND NOT APPLE)
+ IF(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
FIND_LIBRARY(LUA_MATH_LIBRARY m)
SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
# For Windows and Mac, don't need to explicitly include the math library
ELSE(UNIX AND NOT APPLE)
SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
- ENDIF(UNIX AND NOT APPLE)
+ ENDIF(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
ENDIF(LUA_LIBRARY)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
diff --git a/Modules/FindOpenGL.cmake b/Modules/FindOpenGL.cmake
index 98d8808..1ac4de6 100644
--- a/Modules/FindOpenGL.cmake
+++ b/Modules/FindOpenGL.cmake
@@ -80,6 +80,7 @@ ELSE (WIN32)
/usr/share/doc/NVIDIA_GLX-1.0/include
/usr/openwin/share/include
/opt/graphics/OpenGL/include /usr/X11R6/include
+ /boot/system/develop/headers/os/opengl
)
FIND_PATH(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 8277a24..7eb0bd5 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -1,20 +1,121 @@
-SET(BEOS 1)
+# process only once
+IF(HAIKU)
+ RETURN()
+ENDIF(HAIKU)
-SET(CMAKE_DL_LIBS root be)
+SET(HAIKU 1)
+SET(UNIX 1)
+
+SET(CMAKE_DL_LIBS "")
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+
+# Determine, if the C or C++ compiler is configured for a secondary
+# architecture. If so, that will change the search paths we set below. We check
+# whether the compiler's library search paths contain a
+# "/boot/system/develop/lib/<subdir>/", which we assume to be the secondary
+# architecture specific subdirectory and extract the name of the architecture
+# accordingly.
+SET(HAIKU_COMPILER ${CMAKE_C_COMPILER})
+IF ("${HAIKU_COMPILER}" STREQUAL "")
+ SET(HAIKU_COMPILER ${CMAKE_CXX_COMPILER})
+ENDIF ("${HAIKU_COMPILER}" STREQUAL "")
+EXECUTE_PROCESS(
+ COMMAND ${HAIKU_COMPILER} -print-search-dirs
+ COMMAND sed -ne "/^libraries:/!d; s,libraries: =*\\(.*\\):,\\1,; s,:,\\n,gp"
+ COMMAND sed -ne "/\\/boot\\/system\\/develop\\/lib\\/[^\\/]*\\/$/!d; s,.*/\\([^/]*\\)/$,\\1,; p"
+ OUTPUT_VARIABLE CMAKE_HAIKU_SECONDARY_ARCH)
+STRING(STRIP "${CMAKE_HAIKU_SECONDARY_ARCH}"
+ CMAKE_HAIKU_SECONDARY_ARCH)
+
+IF ("${CMAKE_HAIKU_SECONDARY_ARCH}" STREQUAL "")
+ SET(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "")
+ UNSET(CMAKE_HAIKU_SECONDARY_ARCH)
+ELSE ("${CMAKE_HAIKU_SECONDARY_ARCH}" STREQUAL "")
+ SET(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "/${CMAKE_HAIKU_SECONDARY_ARCH}")
+
+ # Override CMAKE_*LIBRARY_ARCHITECTURE. This will cause FIND_LIBRARY to search
+ # the libraries in the correct subdirectory first. It still isn't completely
+ # correct, since the parent directories shouldn't be searched at all. The
+ # primary architecture library might still be found, if there isn't one
+ # installed for the secondary architecture or it is installed in a less
+ # specific location.
+ SET(CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+ SET(CMAKE_C_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+ SET(CMAKE_CXX_LIBRARY_ARCHITECTURE ${CMAKE_HAIKU_SECONDARY_ARCH})
+ENDIF ("${CMAKE_HAIKU_SECONDARY_ARCH}" STREQUAL "")
+
+LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ /boot/common/non-packaged
+ /boot/common
+ /boot/system
+ )
+
+LIST(APPEND CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES
+ /boot/common/non-packaged/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/common/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/system/develop/headers/os
+ /boot/system/develop/headers/os/app
+ /boot/system/develop/headers/os/device
+ /boot/system/develop/headers/os/drivers
+ /boot/system/develop/headers/os/game
+ /boot/system/develop/headers/os/interface
+ /boot/system/develop/headers/os/kernel
+ /boot/system/develop/headers/os/locale
+ /boot/system/develop/headers/os/mail
+ /boot/system/develop/headers/os/media
+ /boot/system/develop/headers/os/midi
+ /boot/system/develop/headers/os/midi2
+ /boot/system/develop/headers/os/net
+ /boot/system/develop/headers/os/opengl
+ /boot/system/develop/headers/os/storage
+ /boot/system/develop/headers/os/support
+ /boot/system/develop/headers/os/translation
+ /boot/system/develop/headers/os/add-ons/graphics
+ /boot/system/develop/headers/os/add-ons/input_server
+ /boot/system/develop/headers/os/add-ons/screen_saver
+ /boot/system/develop/headers/os/add-ons/tracker
+ /boot/system/develop/headers/os/be_apps/Deskbar
+ /boot/system/develop/headers/os/be_apps/NetPositive
+ /boot/system/develop/headers/os/be_apps/Tracker
+ /boot/system/develop/headers/3rdparty
+ /boot/system/develop/headers/bsd
+ /boot/system/develop/headers/glibc
+ /boot/system/develop/headers/gnu
+ /boot/system/develop/headers/posix
+ /boot/system/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ )
+IF (CMAKE_HAIKU_SECONDARY_ARCH)
+ LIST(APPEND CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES
+ /boot/system/develop/headers
+ )
+ENDIF (CMAKE_HAIKU_SECONDARY_ARCH)
+
+LIST(APPEND CMAKE_HAIKU_C_INCLUDE_DIRECTORIES
+ ${CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES}
+ )
+
+LIST(APPEND CMAKE_HAIKU_CXX_INCLUDE_DIRECTORIES
+ ${CMAKE_HAIKU_COMMON_INCLUDE_DIRECTORIES})
+
+LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_HAIKU_C_INCLUDE_DIRECTORIES})
+
+LIST(APPEND CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES
+ /boot/common/non-packaged/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/common/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ /boot/system/develop/lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}
+ )
+
+LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES}
+ )
-INCLUDE(Platform/UnixPaths)
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH /boot/common)
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/common/include)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/common/lib)
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH /boot/common/bin)
-LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES /boot/common/lib)
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/develop/headers/3rdparty)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/develop/lib/x86)
+LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES})
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX "/boot/common" CACHE PATH
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx
index 7e5b26d..733c521 100644
--- a/Source/CPack/cmCPackGenerator.cxx
+++ b/Source/CPack/cmCPackGenerator.cxx
@@ -27,7 +27,8 @@
#include <algorithm>
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
//----------------------------------------------------------------------
@@ -1206,10 +1207,10 @@ const char* cmCPackGenerator::GetInstallPath()
this->InstallPath += "-";
this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION");
#elif defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK)
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_COMMON_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK)
{
- this->InstallPath = dir.Path();
+ this->InstallPath = dir;
}
else
{
diff --git a/Source/CPack/cmCPackGeneratorFactory.cxx b/Source/CPack/cmCPackGeneratorFactory.cxx
index a04b403..878e8c0 100644
--- a/Source/CPack/cmCPackGeneratorFactory.cxx
+++ b/Source/CPack/cmCPackGeneratorFactory.cxx
@@ -32,7 +32,7 @@
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
# include "cmCPackDebGenerator.h"
# include "cmCPackRPMGenerator.h"
#endif
@@ -73,7 +73,7 @@ cmCPackGeneratorFactory::cmCPackGeneratorFactory()
cmCPackOSXX11Generator::CreateGenerator);
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
this->RegisterGenerator("DEB", "Debian packages",
cmCPackDebGenerator::CreateGenerator);
this->RegisterGenerator("RPM", "RPM packages",
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 75a564e..83e3c6e 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -53,14 +53,10 @@
#include <cm_zlib.h>
#include <cmsys/Base64.h>
-#if defined(__BEOS__) && !defined(__HAIKU__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h> /* disable_debugger() API. */
-#endif
-
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
diff --git a/Source/cmExportCommand.cxx b/Source/cmExportCommand.cxx
index cb614d4..1954662 100644
--- a/Source/cmExportCommand.cxx
+++ b/Source/cmExportCommand.cxx
@@ -20,7 +20,8 @@
#include "cmExportBuildFileGenerator.h"
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
cmExportCommand::cmExportCommand()
@@ -297,14 +298,15 @@ void cmExportCommand::StorePackageRegistryDir(std::string const& package,
const char* hash)
{
#if defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) != B_OK)
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) !=
+ B_OK)
{
return;
}
- dir.Append("cmake/packages");
- dir.Append(package.c_str());
- std::string fname = dir.Path();
+ std::string fname = dir;
+ fname += "/cmake/packages/";
+ fname += package;
#else
const char* home = cmSystemTools::GetEnv("HOME");
if(!home)
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 5f106bc..a2f9823 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -19,7 +19,9 @@
#endif
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <string.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
void cmFindPackageNeedBackwardsCompatibility(const std::string& variable,
@@ -1292,12 +1294,13 @@ void cmFindPackageCommand::AddPrefixesUserRegistry()
#if defined(_WIN32) && !defined(__CYGWIN__)
this->LoadPackageRegistryWinUser();
#elif defined(__HAIKU__)
- BPath dir;
- if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) == B_OK)
+ char dir[B_PATH_NAME_LENGTH];
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) ==
+ B_OK)
{
- dir.Append("cmake/packages");
- dir.Append(this->Name.c_str());
- this->LoadPackageRegistryDir(dir.Path());
+ strlcat(dir, "/cmake/packages/", sizeof(dir));
+ strlcat(dir, this->Name.c_str(), sizeof(dir));
+ this->LoadPackageRegistryDir(dir);
}
#else
if(const char* home = cmSystemTools::GetEnv("HOME"))
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 7da35eb..5867030 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -37,7 +37,8 @@
#include <assert.h>
#if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
#endif
cmLocalGenerator::cmLocalGenerator()
@@ -354,12 +355,12 @@ void cmLocalGenerator::GenerateInstallRules()
prefix = prefix_win32.c_str();
}
#elif defined(__HAIKU__)
+ char dir[B_PATH_NAME_LENGTH];
if (!prefix)
{
- BPath dir;
- if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK)
+ if (find_directory(B_COMMON_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK)
{
- prefix = dir.Path();
+ prefix = dir;
}
else
{
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c
index 9c66a44..6fe4232 100644
--- a/Source/kwsys/ProcessUNIX.c
+++ b/Source/kwsys/ProcessUNIX.c
@@ -63,10 +63,6 @@ do.
#include <dirent.h> /* DIR, dirent */
#include <ctype.h> /* isspace */
-#ifdef __HAIKU__
-#undef __BEOS__
-#endif
-
#if defined(__VMS)
# define KWSYSPE_VMS_NONBLOCK , O_NONBLOCK
#else
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index eefa7f5..8798615 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -145,12 +145,7 @@ public:
#define _chdir chdir
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h>
-#include <os/storage/Path.h>
-#endif
-
-#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
+#if defined(__BEOS__) && !defined(__ZETA__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff --git a/Source/kwsys/testDynamicLoader.cxx b/Source/kwsys/testDynamicLoader.cxx
index a7adbca..16b89ad 100644
--- a/Source/kwsys/testDynamicLoader.cxx
+++ b/Source/kwsys/testDynamicLoader.cxx
@@ -15,14 +15,10 @@
#include KWSYS_HEADER(ios/iostream)
#include KWSYS_HEADER(stl/string)
-#if defined(__BEOS__) && !defined(__HAIKU__)
+#if defined(__BEOS__) || defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
-#if defined(__HAIKU__)
-#include <os/kernel/OS.h> /* disable_debugger() API. */
-#endif
-
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
diff --git a/Source/kwsys/testProcess.c b/Source/kwsys/testProcess.c
index 877002a..17a068c 100644
--- a/Source/kwsys/testProcess.c
+++ b/Source/kwsys/testProcess.c
@@ -32,7 +32,7 @@
# pragma warn -8060 /* possibly incorrect assignment */
#endif
-#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
+#if defined(__BEOS__) && !defined(__ZETA__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void testProcess_usleep(unsigned int msec)
diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt
index 281e48a..7d8adb2 100644
--- a/Tests/Complex/Library/CMakeLists.txt
+++ b/Tests/Complex/Library/CMakeLists.txt
@@ -52,9 +52,9 @@ DEFINE_PROPERTY(
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-IF(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+IF(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
-ENDIF(NOT BEOS AND NOT WIN32)
+ENDIF(NOT BEOS AND NOT WIN32 AND NOT HAIKU)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
ELSE(${FOO_BAR_VAR} MATCHES "BAR")
diff --git a/Tests/ComplexOneConfig/Library/CMakeLists.txt b/Tests/ComplexOneConfig/Library/CMakeLists.txt
index 281e48a..7d8adb2 100644
--- a/Tests/ComplexOneConfig/Library/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/Library/CMakeLists.txt
@@ -52,9 +52,9 @@ DEFINE_PROPERTY(
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-IF(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+IF(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
-ENDIF(NOT BEOS AND NOT WIN32)
+ENDIF(NOT BEOS AND NOT WIN32 AND NOT HAIKU)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
ELSE(${FOO_BAR_VAR} MATCHES "BAR")
diff --git a/Tests/ComplexRelativePaths/Library/CMakeLists.txt b/Tests/ComplexRelativePaths/Library/CMakeLists.txt
index 281e48a..7d8adb2 100644
--- a/Tests/ComplexRelativePaths/Library/CMakeLists.txt
+++ b/Tests/ComplexRelativePaths/Library/CMakeLists.txt
@@ -52,9 +52,9 @@ DEFINE_PROPERTY(
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-IF(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+IF(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS.
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
-ENDIF(NOT BEOS AND NOT WIN32)
+ENDIF(NOT BEOS AND NOT WIN32 AND NOT HAIKU)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
ELSE(${FOO_BAR_VAR} MATCHES "BAR")
diff --git a/Utilities/cmcurl/CMake/CurlTests.c b/Utilities/cmcurl/CMake/CurlTests.c
index d74a4f0..c5ba7c2 100644
--- a/Utilities/cmcurl/CMake/CurlTests.c
+++ b/Utilities/cmcurl/CMake/CurlTests.c
@@ -38,7 +38,7 @@ main ()
# define PLATFORM_AIX_V3
#endif
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
#error "O_NONBLOCK does not work on this platform"
#endif
int socket;
diff --git a/Utilities/cmcurl/select.c b/Utilities/cmcurl/select.c
index 51adbcf..82f9dc2 100644
--- a/Utilities/cmcurl/select.c
+++ b/Utilities/cmcurl/select.c
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#if defined(__BEOS__) && !defined(__HAIKU__)
+#if defined(__BEOS__)
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff --git a/Utilities/cmzlib/zconf.h b/Utilities/cmzlib/zconf.h
index 6eb52d1..7a3b6fd 100644
--- a/Utilities/cmzlib/zconf.h
+++ b/Utilities/cmzlib/zconf.h
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__) && !defined (__HAIKU__)
+#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff --git a/Utilities/cmzlib/zutil.h b/Utilities/cmzlib/zutil.h
index 74ef1f8..3053cd8 100644
--- a/Utilities/cmzlib/zutil.h
+++ b/Utilities/cmzlib/zutil.h
@@ -147,12 +147,6 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# define OS_CODE 0x0f
#endif
-/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
-/* many BeOS workarounds are no longer needed in Haiku */
-#if defined(__HAIKU__) && defined(__BEOS__)
-#undef __BEOS__
-#endif
-
#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
diff --git a/bootstrap b/bootstrap
index c999888..c573a90 100755
--- a/bootstrap
+++ b/bootstrap
@@ -142,7 +142,9 @@ if ${cmake_system_mingw}; then
cmake_default_prefix="c:/Program Files/CMake"
fi
elif ${cmake_system_haiku}; then
- cmake_default_prefix=`/bin/finddir B_COMMON_DIRECTORY`
+ cmake_default_prefix=`finddir B_COMMON_DIRECTORY`
+ cmake_man_dir="/documentation/man"
+ cmake_doc_dir="/documentation/packages/cmake-${cmake_version}"
else
cmake_default_prefix="/usr/local"
fi
--
1.7.10.2

View File

@@ -1,11 +1,12 @@
DESCRIPTION="C++ port of the famous JUnit framework for unit testing"
HOMEPAGE="http://cppunit.sourceforge.net/"
SRC_URI="http://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/cppunit-1.12.1.tar.gz/download"
CHECKSUM_MD5 = "bd30e9cf5523cdfc019b94f5e1d7fd19"
CHECKSUM_MD5="bd30e9cf5523cdfc019b94f5e1d7fd19"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd cppunit-1.12.1
libtoolize --force --copy --install
autoreconf -i
@@ -13,7 +14,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd cppunit-1.12.1
make install
}

View File

@@ -5,14 +5,16 @@ CHECKSUM_MD5="da43987622ace8c36bbf14c15a350ec1"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd cscope-15.7a
autoreconf -fvi
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd cscope-15.7a
make install
}

View File

@@ -1,22 +0,0 @@
DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors"
HOMEPAGE="http://ctags.sourceforge.net/"
SRC_URI="http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="c00f82ecdcc357434731913e5b48630d"
BUILD {
cd ctags-5.8
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd ctags-5.8
make install prefix=${DESTDIR}`finddir B_COMMON_DIRECTORY` \
mandir=${DESTDIR}`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
}
LICENSE="GNU GPL v2"
COPYRIGHT="1996-2009, Darren Hiebert"

View File

@@ -0,0 +1,39 @@
SUMMARY="Exuberant Ctags creates tags files for code browsing in editors"
DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors."
HOMEPAGE="http://ctags.sourceforge.net/"
COPYRIGHT="1996-2009, Darren Hiebert"
LICENSE="GNU GPL v2"
SRC_URI="http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz"
CHECKSUM_MD5="c00f82ecdcc357434731913e5b48630d"
REVISION="3"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
ctags = $portVersion compat >= 5.8
cmd:ctags = $portVersion compat >= 5.8
"
REQUIRES="
haiku >= $haikuVersion
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
cmd:ld
cmd:make
cmd:sed
"
SOURCE_DIR="$portVersionedName"
BUILD()
{
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -5,13 +5,15 @@ CHECKSUM_MD5="a7d3fd1ba2a9a6c9e2b32e867b5e8792"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd diffstat-1.51
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd diffstat-1.51
make install DESTDIR="${DESTDIR}"
}

View File

@@ -1,20 +0,0 @@
DESCRIPTION="fastdep is a fast dependency generator for C/C++ files."
HOMEPAGE="http://www.irule.be/bvh/c++/fastdep/"
SRC_URI="http://ports-space.haiku-files.org/dev-util/source/fastdep-0.16.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="838c08b790a5dfe9a50a4aec7947bc54"
BUILD {
cd fastdep-0.16
./configure
make
}
INSTALL {
cd fastdep-0.16
mkdir -p ${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY`
cp -f fastdep ${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY`
}
LICENSE="GNU GPL v2"
COPYRIGHT="2003 Bart Vanhauwaert"

View File

@@ -0,0 +1,44 @@
SUMMARY="fastdep is a fast dependency generator for C/C++ files."
DESCRIPTION="fastdep is a preprocessor which generates dependency information suitable for Makefile inclusion from C or C++ source files. Meant to run on slower hardware, it is several orders of magnitude faster than gcc."
HOMEPAGE="http://www.irule.be/bvh/c++/fastdep/"
SRC_URI="http://ports-space.haiku-files.org/dev-util/source/fastdep-0.16.tar.gz"
REVISION="1"
CHECKSUM_MD5="838c08b790a5dfe9a50a4aec7947bc54"
LICENSE="GNU GPL v2"
COPYRIGHT="2003 Bart Vanhauwaert"
ARCHITECTURES="x86 x86_gcc2"
PATCHES="fastdep-0.16.patch"
PROVIDES="
cmd:fastdep = $portVersion compat >= 0
"
REQUIRES="
lib:libstdc++.r4
lib:libroot >= $haikuVersion"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
"
SOURCE_DIR="$portVersionedName"
BUILD()
{
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir
cp -f fastdep $binDir
}

View File

@@ -5,7 +5,8 @@ CHECKSUM_MD5="8317d2d6914a8e18cd725f9cd7164b87"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/ctags >= 5.8"
BUILD {
BUILD()
{
cd global-6.2.2
autoreconf -fi
./configure --prefix="$(finddir B_COMMON_DIRECTORY)" \
@@ -18,7 +19,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd global-6.2.2
make install
}

View File

@@ -5,7 +5,8 @@ CHECKSUM_MD5="c778d4e52a30706db7a02070cce1078c"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/ctags >= 5.8"
BUILD {
BUILD()
{
cd global-6.2.4
autoreconf -fi
./configure --prefix="$(finddir B_COMMON_DIRECTORY)" \
@@ -18,7 +19,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd global-6.2.4
make install
}

View File

@@ -1,24 +0,0 @@
DESCRIPTION="gperf"
HOMEPAGE="http://www.gnu.org/software/gperf/"
SRC_URI="http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="c1f1db32fb6598d6a93e6e88796a8632"
BUILD {
cd gperf-3.0.4
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--docdir=$COMMON_DOCS/doc/gperf \
--infodir=$COMMON_DOCS/info \
--mandir=$COMMON_DOCS/man
make
}
INSTALL {
cd gperf-3.0.4
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="1989-1998, 2000-2004, 2006-2009 Free Software Foundation, Inc."

View File

@@ -0,0 +1,46 @@
SUMMARY="GNU perfect hash function generator"
DESCRIPTION="GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.
GNU gperf is highly customizable. There are options for generating C or C++ code, for emitting switch statements or nested ifs instead of a hash table, and for tuning the algorithm employed by gperf.
Online Manual is available at www.gnu.org/software/gperf/manual/gperf.html"
HOMEPAGE="http://www.gnu.org/software/gperf/"
COPYRIGHT="1989-1998, 2000-2004, 2006-2009 Free Software Foundation, Inc."
LICENSE="GNU GPL v3"
SRC_URI="http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz"
CHECKSUM_MD5="c1f1db32fb6598d6a93e6e88796a8632"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="gperf-3.0.4.patch"
PROVIDES="
gperf = $portVersion compat >= 3
cmd:gperf = $portVersion compat >= 3
"
REQUIRES="
haiku >= $haikuVersion
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
cmd:ld
cmd:make
"
BUILD()
{
# touch documentation to avoid attempts at rebuilding it (which will fail)
touch doc/*.{pdf,ps}
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -6,13 +6,15 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND="pkgconfig >= 0.23
dev-libs/libxslt >= 1.1.26"
BUILD {
BUILD()
{
cd gtk-doc-1.15
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd gtk-doc-1.15
make install
}

View File

@@ -5,14 +5,16 @@ CHECKSUM_MD5="75cd31c5401c329cdefc272c60c83422"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd idutils-cvs
libtoolize --force --copy --install
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd idutils-cvs
make install
}

View File

@@ -5,14 +5,16 @@ CHECKSUM_MD5="4bbd2cb0d566ab29e41088cc028ad710"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd idutils-4.2
libtoolize --force --copy --install
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd idutils-4.2
make install
}

View File

@@ -7,7 +7,8 @@ DEPEND="sys-devel/gettext >= 0.17
net-misc/rsync >= 3.0.7
app-text/texi2html >= 1.82"
CHECKSUM_MD5="98beafca62472805a3739d3867d5d70f"
BUILD {
BUILD()
{
cd indent-2.2.11
libtoolize --force --copy --install
./bootstrap
@@ -15,12 +16,14 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd indent-2.2.11
make install DESTDIR=${DESTDIR}
}
TEST {
TEST()
{
cd indent-2.2.11
# make test
# make check

View File

@@ -6,7 +6,8 @@ REVISION="2"
STATUS_HAIKU="stable"
MESSAGE="Requires XML::Parser perl module installed"
DEPEND=""
BUILD {
BUILD()
{
cd intltool-0.40.6
./configure --prefix="$(finddir B_COMMON_DIRECTORY)" \
--datarootdir="$(finddir B_COMMON_DATA_DIRECTORY)" \
@@ -14,7 +15,8 @@ BUILD {
make
}
INSTALL {
INSTALL()
{
cd intltool-0.40.6
make install
make check

View File

@@ -0,0 +1,61 @@
SUMMARY="A small build system similar to make."
HOMEPAGE="http://martine.github.io/ninja/"
LICENSE="Apache v2"
COPYRIGHT="2011 Google Inc."
SRC_URI="git://github.com/martine/ninja.git#v1.4.0"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
ninja$secondaryArchSuffix = $portVersion
cmd:ninja = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
haiku_devel >= $haikuVersion
cmd:python
cmd:g++$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
cmd:as$secondaryArchSuffix
"
PATCHES="ninja-1.4.0.patchset"
BUILD()
{
python ./bootstrap.py
}
INSTALL()
{
mkdir -p $binDir
cp ninja $binDir
}
DESCRIPTION="
Ninja is a small build system with a focus on speed. It differs from other
build systems in two major respects: it is designed to have its input files
generated by a higher-level build system, and it is designed to run builds
as fast as possible.
Why yet another build system?
Where other build systems are high-level languages Ninja aims to be an
assembler.
Ninja build files are human-readable but not especially convenient to write
by hand. (See the generated build file used to build Ninja itself.) These
constrained build files allow Ninja to evaluate incremental builds quickly.
For the Chrome browser on Linux (the motivating project behind Ninja),
Ninja is under a second for a no-op build where the equivalent Makefiles
took over ten seconds.
Ninja's low-level approach makes it perfect for embedding into more
featureful build systems. Via gyp it can build Chrome and v8 and node.js
etc.; via CMake it can build LLVM and KDE and Blender etc.
"

View File

@@ -0,0 +1,82 @@
From d5b906ba41f20ba28ea7044c8933c069dd915616 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Thu, 3 Oct 2013 10:06:13 +0200
Subject: Add minimal Haiku support
diff --git a/platform_helper.py b/platform_helper.py
index b7447a1..bf7a99e 100644
--- a/platform_helper.py
+++ b/platform_helper.py
@@ -19,7 +19,7 @@ import sys
def platforms():
return ['linux', 'darwin', 'freebsd', 'openbsd', 'solaris', 'sunos5',
- 'mingw', 'msvc', 'gnukfreebsd8', 'bitrig']
+ 'mingw', 'msvc', 'gnukfreebsd8', 'bitrig', 'haiku']
class Platform( object ):
def __init__( self, platform):
@@ -43,6 +43,8 @@ class Platform( object ):
self._platform = 'msvc'
elif self._platform.startswith('bitrig'):
self._platform = 'bitrig'
+ elif self._platform.startswith('haiku'):
+ self._platform = 'haiku'
def platform(self):
return self._platform
@@ -73,3 +75,6 @@ class Platform( object ):
def is_bitrig(self):
return self._platform == 'bitrig'
+
+ def is_haiku(self):
+ return self._platform == 'haiku'
diff --git a/src/util.cc b/src/util.cc
index 6ba3c6c..7142d13 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -310,7 +310,7 @@ int GetProcessorCount() {
#endif
}
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(__HAIKU__)
double GetLoadAverage() {
// TODO(nicolas.despres@gmail.com): Find a way to implement it on Windows.
// Remember to also update Usage() when this is fixed.
--
1.8.3.4
From ae6f3e8c5b4d18198ef0c798c4609ac9607ea16f Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 13 Oct 2013 22:39:03 +0200
Subject: Disable has_re2c test
* The test triggers some bug in our python port, leading to a corrupted
build.ninja file (first 40 lines are written twice to the file).
* re2c is not needed when just building ninja anyway.
diff --git a/configure.py b/configure.py
index 9fe3be8..61ac9dd 100755
--- a/configure.py
+++ b/configure.py
@@ -241,12 +241,7 @@ if not platform.is_windows() and not platform.is_solaris():
n.comment('the depfile parser and ninja lexers are generated using re2c.')
def has_re2c():
- import subprocess
- try:
- proc = subprocess.Popen(['re2c', '-V'], stdout=subprocess.PIPE)
- return int(proc.communicate()[0], 10) >= 1103
- except OSError:
- return False
+ return False
if has_re2c():
n.rule('re2c',
command='re2c -b -i --no-generation-date -o $out $in',
--
1.8.3.4

View File

@@ -5,13 +5,15 @@ CHECKSUM_MD5="3fd9bca58a429fbbb1c2126f1b72aa23"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd patchutils-0.3.1
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd patchutils-0.3.1
make install
}

View File

@@ -5,14 +5,16 @@ CHECKSUM_MD5="74607b4a28c9009c6aeeed0e91098917"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd patchutils-0.3.2
./configure --prefix="$(finddir B_COMMON_DIRECTORY)" \
--mandir="$(finddir B_COMMON_DOCUMENTATION_DIRECTORY)/man"
make
}
INSTALL {
INSTALL()
{
cd patchutils-0.3.2
make install
}

View File

@@ -6,17 +6,20 @@ REVISION="1"
STATUS_HAIKU="broken"
MESSAGE="This test suite requires expect, which hasn't been ported to Haiku, yet."
DEPEND=""
BUILD {
BUILD()
{
cd pjdfstest-20100807
make
}
INSTALL {
INSTALL()
{
cd pjdfstest-20100807
}
TEST {
TEST()
{
cd pjdfstest-20100807
}

View File

@@ -1,26 +0,0 @@
--- pkg-config-0.25/parse.c 2010-05-27 20:21:36.003670016 +0000
+++ pkg-config-0.25-haiku/parse.c 2010-08-05 02:44:44.243269632 +0000
@@ -880,8 +880,9 @@
pkg->other_cflags = g_slist_prepend (pkg->other_cflags,
g_strdup (arg));
if (strcmp("-idirafter", arg) == 0) {
- tmp = trim_string(argv[++i]);
- char *n = strdup_escape_shell(tmp);
+ char *n;
+ tmp = trim_string(argv[++i]);
+ n = strdup_escape_shell(tmp);
pkg->other_cflags = g_slist_prepend(pkg->other_cflags, n);
g_free(tmp);
}
diff -urN pkg-config-0.25/pkg.m4 pkg-config-0.25-dnlfixed/pkg.m4
--- pkg-config-0.25/pkg.m4 2009-12-06 20:39:02.000524288 +0000
+++ pkg-config-0.25-dnlfixed/pkg.m4 2010-09-07 20:24:30.345505792 +0000
@@ -135,7 +135,7 @@
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
-_PKG_TEXT])dnl
+_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])

View File

@@ -0,0 +1,60 @@
From 2d186a28945868303f8e40b728058f979f77b3b5 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Tue, 11 Jun 2013 14:59:02 +0200
Subject: glib/configure.ac: use AC_PROG_CC instead of AM_PROG_CC_STDC
diff --git a/glib/configure.ac b/glib/configure.ac
index 9e48cc9..f51d103 100644
--- a/glib/configure.ac
+++ b/glib/configure.ac
@@ -288,7 +288,7 @@ AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
AM_CONDITIONAL(HAVE_CXX, [test "$CXX" != ""])
AC_LANG_RESTORE
-AM_PROG_CC_STDC
+AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_INSTALL
--
1.7.5
From 8a711d6bac22f0334acf6eecc83a3b38b19e2409 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Tue, 11 Jun 2013 16:16:06 +0200
Subject: glib/configure.ac: search for stuff in -lnetwork
diff --git a/glib/configure.ac b/glib/configure.ac
index f51d103..d41bef3 100644
--- a/glib/configure.ac
+++ b/glib/configure.ac
@@ -1057,11 +1057,19 @@ if test $glib_native_win32 = no; then
[res_query("test", 0, 0, (void *)0, 0);],
[AC_MSG_RESULT([in -lbind])
NETWORK_LIBS="-lbind $NETWORK_LIBS"],
- [AC_MSG_ERROR(not found)])])
+ [LIBS="-lnetwork $save_libs"
+ AC_TRY_LINK([#include <resolv.h>],
+ [res_query("test", 0, 0, (void *)0, 0);],
+ [AC_MSG_RESULT([in -lbind])
+ NETWORK_LIBS="-lnetwork $NETWORK_LIBS"],
+ [AC_MSG_ERROR(not found)])])])
LIBS="$save_libs"])
- AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket,
- [NETWORK_LIBS="-lsocket $NETWORK_LIBS"],
- [AC_MSG_ERROR(Could not find socket())]))
+ AC_CHECK_FUNC(socket, :,
+ AC_CHECK_LIB(socket, socket,
+ [NETWORK_LIBS="-lsocket $NETWORK_LIBS"],
+ [AC_CHECK_LIB(network, socket,
+ [NETWORK_LIBS="-lnetwork $NETWORK_LIBS"],
+ [AC_MSG_ERROR(Could not find socket())])]))
fi
AC_SUBST(NETWORK_LIBS)
--
1.7.5

View File

@@ -1,31 +0,0 @@
DESCRIPTION="pkgconfig"
HOMEPAGE="http://pkg-config.freedesktop.org/wiki/"
SRC_URI="http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz"
CHECKSUM_MD5="d922a88782b64441d06547632fd85744"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd pkg-config-0.23/glib-1.2.10
mkdir -p m4
libtoolize --force --copy --install
aclocal --install -I m4
autoreconf
cd ..
mkdir -p m4
libtoolize --force --copy --install
aclocal --install -I m4
autoreconf
automake
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd pkg-config-0.23
make install
}
LICENSE="GNU GPL v2"
COPYRIGHT="1998, 2001-2006 Red Hat Inc."

View File

@@ -1,34 +0,0 @@
DESCRIPTION="pkgconfig"
HOMEPAGE="http://pkg-config.freedesktop.org/wiki/"
SRC_URI="http://pkgconfig.freedesktop.org/releases/pkg-config-0.25.tar.gz"
CHECKSUM_MD5="a3270bab3f4b69b7dc6dbdacbcae9745"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd pkg-config-0.25/glib-1.2.10
mkdir -p m4
libtoolize --force --copy --install
aclocal --install -I m4
autoreconf
cd ..
mkdir -p m4
libtoolize --force --copy --install
aclocal --install -I m4
autoreconf
automake
autoconf
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--docdir=$COMMON_DOCS/doc/pkg-config \
--mandir=$COMMON_DOCS/man
make
}
INSTALL {
cd pkg-config-0.25
make install
}
LICENSE="GNU GPL v2"
COPYRIGHT="1998, 2001-2006 Red Hat Inc."

View File

@@ -0,0 +1,63 @@
SUMMARY="Helper tool for compiling applications and libraries"
DESCRIPTION="pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.cpkg-config --libs --cflags glib-2.0 for instance, rather than hard-coding values on where to find glib (or other libraries). It is language-agnostic, so it can be used for defining the location of documentation tools, for instance."
HOMEPAGE="http://pkg-config.freedesktop.org/wiki/"
LICENSE="GNU GPL v2"
COPYRIGHT="1998, 2001-2006 Red Hat Inc."
SRC_URI="http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.1.tar.gz"
CHECKSUM_MD5="5392b4e3372879c5bf856173b418d6a2"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="pkgconfig-0.27.1.patchset"
PROVIDES="
pkgconfig = $portVersion compat >= 0.27
cmd:pkg_config = $portVersion compat >= 0.27
"
REQUIRES="
haiku >= $haikuVersion
lib:libiconv
"
BUILD_REQUIRES="
devel:libiconv
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:autoreconf
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
"
SOURCE_DIR="pkg-config-0.27.1"
BUILD()
{
cd glib
libtoolize --force --copy --install
autoreconf
cd ..
libtoolize --force --copy --install
aclocal
autoconf
automake --add-missing
pcPathSubdir="develop/lib/pkgconfig"
pcPath="/boot/common/non-packaged/$pcPathSubdir"
pcPath="$pcPath:/boot/common/$pcPathSubdir"
pcPath="$pcPath:/boot/system/$pcPathSubdir"
runConfigure ./configure \
--with-internal-glib \
--with-pc_path="$pcPath"
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -5,17 +5,20 @@ CHECKSUM_MD5="9a8e6516585c886fddc257270061b59c"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd posixtestsuite
make
}
INSTALL {
INSTALL()
{
cd posixtestsuite
make install
}
TEST {
TEST()
{
cd posixtestsuite
execute.sh
}

View File

@@ -6,12 +6,14 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
BUILD()
{
cd premake-4.3/build/gmake.unix
make config=release
}
INSTALL {
INSTALL()
{
cd premake-4.3/bin/release
mkdir -p $DESTDIR`finddir B_COMMON_BIN_DIRECTORY`
install -m 0755 premake4 $DESTDIR`finddir B_COMMON_BIN_DIRECTORY`

View File

@@ -6,14 +6,16 @@ REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/diffstat >= 1.51
sys-apps/ed >= 1.4"
BUILD {
BUILD()
{
cd quilt-0.48
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make EDITOR=nano
}
INSTALL {
INSTALL()
{
cd quilt-0.48
make install BUILD_ROOT="${DESTDIR}"
}

View File

@@ -6,18 +6,21 @@ STATUS_HAIKU="broken"
DEPEND=""
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
CHECKSUM_MD5="4a97d8f77ed6d2c76c8bd840a43f5633"
BUILD {
BUILD()
{
cd re2c-0.13.5
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
INSTALL()
{
cd re2c-0.13.5
make install
}
TEST {
TEST()
{
cd re2c-0.13.5
# make test
# make check

View File

@@ -1,84 +0,0 @@
diff -Naur scons-1.0.1/engine/SCons/Platform/__init__.py scons-1.0.1-haiku-1/engine/SCons/Platform/__init__.py
--- scons-1.0.1/engine/SCons/Platform/__init__.py 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/engine/SCons/Platform/__init__.py 2008-09-28 19:06:30.000000000 +0200
@@ -76,6 +76,8 @@
return 'aix'
elif string.find(sys.platform, 'darwin') != -1:
return 'darwin'
+ elif string.find(sys.platform, 'haiku') != -1:
+ return 'haiku'
else:
return 'posix'
elif os.name == 'os2':
diff -Naur scons-1.0.1/engine/SCons/Platform/haiku.py scons-1.0.1-haiku-1/engine/SCons/Platform/haiku.py
--- scons-1.0.1/engine/SCons/Platform/haiku.py 1970-01-01 01:00:00.000000000 +0100
+++ scons-1.0.1-haiku-1/engine/SCons/Platform/haiku.py 2008-10-05 13:27:12.000000000 +0200
@@ -0,0 +1,41 @@
+"""SCons.Platform.haiku
+
+Platform-specific initialization for Haiku systems.
+
+There normally shouldn't be any need to import this module directly. It
+will usually be imported through the generic SCons.Platform.Platform()
+selection method.
+"""
+
+#
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = ""
+
+import posix
+
+def generate(env):
+ posix.generate(env)
+ env['ENV']['PATH'] = '.:/boot/home/config/bin:/boot/common/bin:/boot/system/bin:/boot/develop/tools/gnupro/bin'
+ # help the linker find the startfiles
+ env['ENV']['BELIBRARIES'] = '/boot/develop/lib/x86'
diff -Naur scons-1.0.1/script/scons scons-1.0.1-haiku-1/script/scons
--- scons-1.0.1/script/scons 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/scons 2008-10-05 13:20:42.000000000 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /bin/env python
#
# SCons - a Software Constructor
#
diff -Naur scons-1.0.1/script/scons-time scons-1.0.1-haiku-1/script/scons-time
--- scons-1.0.1/script/scons-time 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/scons-time 2008-10-05 13:20:49.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/bin/env python
#
# scons-time - run SCons timings and collect statistics
#
diff -Naur scons-1.0.1/script/sconsign scons-1.0.1-haiku-1/script/sconsign
--- scons-1.0.1/script/sconsign 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/sconsign 2008-10-05 13:20:59.000000000 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /bin/env python
#
# SCons - a Software Constructor
#

View File

@@ -1,84 +0,0 @@
diff -Naur scons-1.0.1/engine/SCons/Platform/__init__.py scons-1.0.1-haiku-1/engine/SCons/Platform/__init__.py
--- scons-1.0.1/engine/SCons/Platform/__init__.py 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/engine/SCons/Platform/__init__.py 2008-09-28 19:06:30.000000000 +0200
@@ -76,6 +76,8 @@
return 'aix'
elif string.find(sys.platform, 'darwin') != -1:
return 'darwin'
+ elif string.find(sys.platform, 'haiku') != -1:
+ return 'haiku'
else:
return 'posix'
elif os.name == 'os2':
diff -Naur scons-1.0.1/engine/SCons/Platform/haiku.py scons-1.0.1-haiku-1/engine/SCons/Platform/haiku.py
--- scons-1.0.1/engine/SCons/Platform/haiku.py 1970-01-01 01:00:00.000000000 +0100
+++ scons-1.0.1-haiku-1/engine/SCons/Platform/haiku.py 2008-10-05 13:27:12.000000000 +0200
@@ -0,0 +1,41 @@
+"""SCons.Platform.haiku
+
+Platform-specific initialization for Haiku systems.
+
+There normally shouldn't be any need to import this module directly. It
+will usually be imported through the generic SCons.Platform.Platform()
+selection method.
+"""
+
+#
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = ""
+
+import posix
+
+def generate(env):
+ posix.generate(env)
+ env['ENV']['PATH'] = '.:/boot/home/config/bin:/boot/common/bin:/boot/system/bin:/boot/develop/tools/gnupro/bin'
+ # help the linker find the startfiles
+ env['ENV']['BELIBRARIES'] = '/boot/develop/lib/x86'
diff -Naur scons-1.0.1/script/scons scons-1.0.1-haiku-1/script/scons
--- scons-1.0.1/script/scons 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/scons 2008-10-05 13:20:42.000000000 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /bin/env python
#
# SCons - a Software Constructor
#
diff -Naur scons-1.0.1/script/scons-time scons-1.0.1-haiku-1/script/scons-time
--- scons-1.0.1/script/scons-time 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/scons-time 2008-10-05 13:20:49.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/bin/env python
#
# scons-time - run SCons timings and collect statistics
#
diff -Naur scons-1.0.1/script/sconsign scons-1.0.1-haiku-1/script/sconsign
--- scons-1.0.1/script/sconsign 2008-09-06 16:34:17.000000000 +0200
+++ scons-1.0.1-haiku-1/script/sconsign 2008-10-05 13:20:59.000000000 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /bin/env python
#
# SCons - a Software Constructor
#

View File

@@ -0,0 +1,97 @@
From 8f1968371d3426d08cba8dafa44eaaa0cb59b13f Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Fri, 9 Aug 2013 17:46:35 +0200
Subject: Add support for the Haiku platform
diff --git a/engine/SCons/Platform/__init__.py b/engine/SCons/Platform/__init__.py
index 2cab3c8..373938d 100644
--- a/engine/SCons/Platform/__init__.py
+++ b/engine/SCons/Platform/__init__.py
@@ -78,6 +78,8 @@ def platform_default():
return 'aix'
elif sys.platform.find('darwin') != -1:
return 'darwin'
+ elif sys.platform.find('haiku') != -1:
+ return 'haiku'
else:
return 'posix'
elif os.name == 'os2':
diff --git a/engine/SCons/Platform/haiku.py b/engine/SCons/Platform/haiku.py
new file mode 100644
index 0000000..5c802dd
--- /dev/null
+++ b/engine/SCons/Platform/haiku.py
@@ -0,0 +1,69 @@
+"""SCons.Platform.haiku
+
+Platform-specific initialization for Haiku systems.
+
+There normally shouldn't be any need to import this module directly. It
+will usually be imported through the generic SCons.Platform.Platform()
+selection method.
+"""
+
+#
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = ""
+
+import commands
+import os
+import posix
+
+def findDir(identifier):
+ return commands.getoutput('finddir %s' % identifier)
+
+def generate(env):
+ posix.generate(env)
+
+ # determine, if building for the secondary architecture
+ secondaryArch = os.environ.get('HAIKU_SECONDARY_ARCH')
+ archSubDir = '/' + secondaryArch if secondaryArch else ''
+
+ # PATH
+ pathDescriptions = [
+ ('B_USER_NONPACKAGED_BIN_DIRECTORY', None),
+ ('B_USER_CONFIG_DIRECTORY', 'bin'),
+ ('B_COMMON_NONPACKAGED_BIN_DIRECTORY', None),
+ ('B_COMMON_BIN_DIRECTORY', None),
+ ('B_SYSTEM_BIN_DIRECTORY', None)
+ ]
+
+ paths = []
+ for pathConstant, subDir in pathDescriptions:
+ path = findDir(pathConstant)
+ if subDir:
+ path += '/' + subDir
+ paths.append(path)
+
+ if secondaryArch:
+ # prepend the secondary arch subdirectories
+ paths = [path + archSubDir for path in paths] + paths
+
+ env['ENV']['PATH'] = ':'.join(paths)
--
1.7.10.2

View File

@@ -1,22 +0,0 @@
DESCRIPTION="Open Source next-generation build tool."
HOMEPAGE="http://www.scons.org/"
LICENSE="MIT"
COPYRIGHT="2001-2008 The SCons Foundation"
SRC_URI="http://ovh.dl.sourceforge.net/sourceforge/scons/scons-1.0.1.tar.gz"
CHECKSUM_MD5="139ef2e108789afe25ee0bdbb138b8c0"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-lang/python <= 2.5.5"
BUILD {
cd scons-1.0.1
python2.5 setup.py build
}
INSTALL {
cd scons-1.0.1
if [ ! -z ${DESTDIR} ];then
python2.5 setup.py install --root="${DESTDIR}" --prefix="/boot/common" --symlink-scons --standard-lib
else
python2.5 setup.py install --prefix="/boot/common" --symlink-scons --standard-lib
fi
}

View File

@@ -1,22 +0,0 @@
DESCRIPTION="Open Source next-generation build tool."
HOMEPAGE="http://www.scons.org/"
LICENSE="MIT"
COPYRIGHT="2001-2008 The SCons Foundation"
SRC_URI="http://ovh.dl.sourceforge.net/sourceforge/scons/scons-1.0.1.tar.gz"
CHECKSUM_MD5="139ef2e108789afe25ee0bdbb138b8c0"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-lang/python >= 2.5.4"
BUILD {
cd scons-1.0.1
python setup.py build
}
INSTALL {
cd scons-1.0.1
if [ ! -z ${DESTDIR} ];then
python setup.py install --root="${DESTDIR}" --prefix="/boot/common" --symlink-scons --standard-lib
else
python setup.py install --prefix="/boot/common" --symlink-scons --standard-lib
fi
}

View File

@@ -1,28 +0,0 @@
DESCRIPTION="Open Source next-generation build tool."
HOMEPAGE="http://www.scons.org/"
LICENSE="MIT"
COPYRIGHT="2001-2010 The SCons Foundation"
SRC_URI="http://ovh.dl.sourceforge.net/sourceforge/scons/scons-2.0.1.tar.gz"
CHECKSUM_MD5="beca648b894cdbf85383fffc79516d18"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND="dev-lang/python >= 2.5.4"
BUILD {
cd scons-2.0.1
for f in "script/scons script/scons-time script/sconsign"; do
sed -i -e "s@#! /usr/bin/env python@#! /bin/env python@" $f
done
python setup.py build
}
INSTALL {
if [ ! -z ${DESTDIR} ]; then
options="${options} --root=${DESTDIR}"
fi
options="${options} --prefix=`finddir B_COMMON_DIRECTORY`"
options="${options} --install-data=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`"
options="${options} --symlink-scons"
options="${options} --standard-lib"
cd scons-2.0.1
python setup.py install $options
}

View File

@@ -1,28 +0,0 @@
DESCRIPTION="Open Source next-generation build tool."
HOMEPAGE="http://www.scons.org/"
LICENSE="MIT"
COPYRIGHT="2001-2012 The SCons Foundation"
SRC_URI="http://superb-dca3.dl.sourceforge.net/project/scons/scons/2.2.0/scons-2.2.0.tar.gz"
CHECKSUM_MD5="f737f474a02d08156c821bd2d4d4b632"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND="dev-lang/python >= 2.5.4"
BUILD {
cd scons-2.2.0
for f in "script/scons script/scons-time script/sconsign"; do
sed -i -e "s@#! /usr/bin/env python@#! /bin/env python@" $f
done
python setup.py build
}
INSTALL {
if [ ! -z ${DESTDIR} ]; then
options="${options} --root=${DESTDIR}"
fi
options="${options} --prefix=`finddir B_COMMON_DIRECTORY`"
options="${options} --install-data=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`"
options="${options} --symlink-scons"
options="${options} --standard-lib"
cd scons-2.2.0
python setup.py install $options
}

View File

@@ -0,0 +1,47 @@
SUMMARY="Open Source software construction tool"
DESCRIPTION="SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software."
HOMEPAGE="http://www.scons.org/"
LICENSE="MIT"
COPYRIGHT="2001-2012 The SCons Foundation"
SRC_URI="http://superb-dca3.dl.sourceforge.net/project/scons/scons/2.2.0/scons-2.2.0.tar.gz"
CHECKSUM_MD5="f737f474a02d08156c821bd2d4d4b632"
REVISION="2"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="scons-2.2.0.patchset"
PROVIDES="
scons = $portVersion compat >= 2
cmd:scons = $portVersion compat >= 2
cmd:scons_2.2.0 = $portVersion compat >= 2
cmd:scons_time = $portVersion compat >= 2
cmd:scons_time_2.2.0 = $portVersion compat >= 2
cmd:sconsign = $portVersion compat >= 2
cmd:sconsign_2.2.0 = $portVersion compat >= 2
"
REQUIRES="
haiku >= $haikuVersion
cmd:python
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
cmd:python
"
BUILD()
{
for f in "script/scons script/scons-time script/sconsign"; do
sed -i -e "s@#! /usr/bin/env python@#! /bin/env python@" $f
done
python setup.py build
}
INSTALL()
{
options="$options --prefix=$prefix"
options="$options --install-data=$documentationDir"
options="$options --symlink-scons"
options="$options --standard-lib"
python setup.py install $options
}