Files
haiku-beta6/build/jam/OptionalPackages
T
Stephan Aßmus 432ce3738d * Tracked down the mkdepend tool which Ingo used in his updated makefile-engine
which auto-generates dependencies. It was written by Lars Duening for BeOS
  and uses libglob, which is also part of make. To re-use libglob and since
  make is already part of the Haiku tree, I added mkdepend to the bin tools.
* Added Lars Duening's copyright to AboutSystem.
* Added skeleton makefile and makefile-engine to data/develop.
* Added mkdepend and makefile-engine files to the Development optional package.
  It could be argued to move the make bin command there too, from it's current
  location in the HaikuImage file. However, make could be useful to always
  have available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:19:41 +00:00

640 lines
18 KiB
Plaintext

# This file defines the optional packages that can be added to the Haiku image.
# It is directly included from HaikuImage -- all variables defined there can
# be used
# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4
# packages. (It does not matter if a package was built with either compiler,
# the system should have the respective other system libs.)
local isHybridBuild = 0 ;
if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
isHybridBuild = 1 ;
}
# Available Optional Packages:
# APR
# APR-util
# Beam
# BeBook
# BeHappy
# BePDF
# Bluetooth
# CVS
# Development
# Firefox
# LibLayout
# Links
# NetSurf
# OpenSound
# OpenSSH
# OpenSSL
# P7zip
# Pe
# Perl
# Subversion
# Tar
# UserlandFS
# Vision
# VLC
# Welcome
# WonderBrush
# Yasm
# package dependencies
OptionalPackageDependencies APR-util : APR ;
OptionalPackageDependencies BeHappy : BeBook NetSurf ;
OptionalPackageDependencies Development : Perl ;
OptionalPackageDependencies LibLayout : Development ;
OptionalPackageDependencies NetSurf : OpenSSL ;
OptionalPackageDependencies OpenSSH : OpenSSL ;
OptionalPackageDependencies Subversion : OpenSSL ;
# APR
if [ IsOptionalHaikuImagePackageAdded APR ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package APR available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage apr-0.9.17-gcc2-2008-05-20
: $(baseURL)/apr-0.9.17-gcc2-2008-05-20.zip
:
;
}
}
# APR-util
if [ IsOptionalHaikuImagePackageAdded APR-util ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage apr-util-0.9.15-gcc2-2008-05-15
: $(baseURL)/apr-util-0.9.15-gcc2-2008-05-15.zip
:
;
}
}
# Beam
if [ IsOptionalHaikuImagePackageAdded Beam ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Beam available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Beam available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage Beam
# : http://dl.hirschkaefer.de/beam/beam-1-1-2-bone-with-libs.zip
: http://dl.hirschkaefer.de/beam/beam-1-1-2-r5-with-libs.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
# : /boot/apps/beam-1-1-2-bone-with-libs/Beam ;
: /boot/apps/beam-1-1-2-r5-with-libs/Beam ;
}
}
# BeBook
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
InstallOptionalHaikuImagePackage bebook_20081026
: http://haiku-files.org/files/optional-packages/bebook_20081026.zip
: beos documentation
;
AddSymlinkToHaikuImage home Desktop
: /boot/beos/documentation/bebook/index.html : BeBook ;
}
# BeHappy
if [ IsOptionalHaikuImagePackageAdded BeHappy ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package BeHappy available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package BeHappy available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage BeHappy
: http://revolf.free.fr/beos/behappy-bone.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BeHappy/BeHappy ;
}
}
# BePDF
if [ IsOptionalHaikuImagePackageAdded BePDF ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package BePDF available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage BePDF-1.1.0b1.x86
: http://haiku-files.org/files/optional-packages/BePDF-1.1.0b1.x86.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BePDF/BePDF ;
}
}
# Bluetooth stack
if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
local bluetoothDrivers = h2generic ;
AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
AddFilesToHaikuImage beos system servers : bluetooth_server ;
AddFilesToHaikuImage beos system lib : libbluetooth.so ;
AddFilesToHaikuImage beos system add-ons kernel network devices : bluetooth ;
AddFilesToHaikuImage beos system add-ons kernel network protocols : l2cap ;
AddFilesToHaikuImage beos system add-ons kernel bluetooth : btCoreData ;
AddFilesToHaikuImage beos preferences : Bluetooth ;
AddFilesToHaikuImage beos bin : bt_dev_info bt_discovery ;
if [ IsOptionalHaikuImagePackageAdded Development ] {
AddSymlinkToHaikuImage develop lib x86 : /system/lib/libbluetooth.so ;
}
}
# CVS
if [ IsOptionalHaikuImagePackageAdded CVS ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package CVS available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage cvs-1.12.13-gcc2-2008-12-04
: $(baseURL)/cvs-1.12.13-gcc2-2008-12-04.zip
:
;
}
}
# Development
if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
# glue code
AddFilesToHaikuImage develop lib x86
: <src!system!glue!arch!x86>crti.o <src!system!glue!arch!x86>crtn.o
<src!system!glue>init_term_dyn.o <src!system!glue>start_dyn.o ;
# kernel
AddFilesToHaikuImage develop lib x86 : kernel.so : _KERNEL_ ;
# library symlinks
local lib ;
for lib in $(BEOS_SYSTEM_LIBS) libglut.so {
AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ;
}
# static libraries
AddFilesToHaikuImage develop lib x86 : libncurses.a ;
# cc and c++ wrapper scripts
AddFilesToHaikuImage beos bin : cc c++ ;
# mkdepend build tool, which is part of the Haiku source tree
# (same as make, but make is already included independent of the
# Development package)
AddFilesToHaikuImage beos bin : mkdepend ;
# skeleton makefile and makefile-engine
local makefileEngineFiles =
<makefile-engine>makefile
<makefile-engine>makefile-engine
;
SEARCH on $(makefileEngineFiles)
= [ FDirName $(HAIKU_TOP) data develop ] ;
AddFilesToHaikuImage develop etc
: $(makefileEngineFiles) ;
# headers
AddHeaderDirectoryToHaikuImage gnu : 3rdparty ;
AddHeaderDirectoryToHaikuImage os ;
AddHeaderDirectoryToHaikuImage posix ;
# add _G_config.h to posix/
SEARCH on <header>_G_config.h = [ FDirName $(HAIKU_TOP) headers glibc ] ;
AddFilesToHaikuImage develop headers posix : <header>_G_config.h ;
# create be -> os symlink for now
AddSymlinkToHaikuImage develop headers : os : be ;
# BSD compatibility headers
AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
# third party libs headers
AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs iconv : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
if $(HAIKU_GCC_VERSION[1]) = 2 {
# gcc and binutils
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage gcc-2.95.3-haiku-081024
: $(baseURL)/gcc-2.95.3-haiku-081024.zip
:
;
AddHeaderDirectoryToHaikuImage cpp ;
}
if $(HAIKU_GCC_VERSION[1]) = 4 {
# gcc and binutils
local baseURL = http://haiku.mlotz.ch ;
InstallOptionalHaikuImagePackage gcc-4.3.3-haiku-090313
: $(baseURL)/gcc-4.3.3-haiku-090313.zip
:
;
# symlink cpp to g++'s headers
AddSymlinkToHaikuImage develop headers
: /boot/develop/tools/gnupro/include/g++ : cpp ;
}
# other tools
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage autoconf-2.63-gcc2-2008-11-05
: $(baseURL)/autoconf-2.63-gcc2-2008-11-05.zip
:
;
InstallOptionalHaikuImagePackage automake-1.10.1-gcc2-2008-11-06
: $(baseURL)/automake-1.10.1-gcc2-2008-11-06.zip
:
;
InstallOptionalHaikuImagePackage bison-2.4-gcc2-2008-11-09
: $(baseURL)/bison-2.4-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage flex-2.5.35-gcc2-2008-11-09
: $(baseURL)/flex-2.5.35-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage jam-haiku-gcc2-2008-03-27-2
: $(baseURL)/jam-haiku-gcc2-2008-03-27-2.zip
:
;
InstallOptionalHaikuImagePackage libtool-2.2.6a-gcc2-2008-11-09
: $(baseURL)/libtool-2.2.6a-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage m4-1.4.12-gcc2-2008-11-04
: $(baseURL)/m4-1.4.12-gcc2-2008-11-04.zip
:
;
InstallOptionalHaikuImagePackage texinfo-4.13a-gcc2-2008-11-09
: $(baseURL)/texinfo-4.13a-gcc2-2008-11-09.zip
:
;
}
# Firefox web browser
if [ IsOptionalHaikuImagePackageAdded Firefox ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Firefox available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
InstallOptionalHaikuImagePackage BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01
: http://haiku-files.org/files/optional-packages/BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BeZillaBrowser/BeZillaBrowser ;
} else {
InstallOptionalHaikuImagePackage BeZillaBrowser-gcc2-20090218
: http://bezilla.beuser.de/builds/BeZillaBrowser-gcc2-20090218.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BeZillaBrowser/BeZillaBrowser ;
}
}
# LibLayout library
if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
Echo "No optional package LibLayout available for gcc4" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08
: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip
:
;
}
}
# Links web browser
if [ IsOptionalHaikuImagePackageAdded Links ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Links available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Links available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage Links
: http://revolf.free.fr/beos/links-beos-bin.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/home/config/bin/links ;
}
}
# NetSurf web browser
if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package NetSurf available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage NetSurf
: http://revolf.free.fr/beos/netsurf-bone.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/netsurf/NetSurf ;
}
}
# OpenSound drivers
if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
} else {
InstallOptionalHaikuImagePackage OpenSound
: http://www.yellowbites.com/downloads/OpenSound_Haiku20080621.zip
:
;
}
#UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ;
}
# OpenSSH
if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
} else {
if ! $(HAIKU_IMAGE_HOST_NAME) {
Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
"variable to be set!" ;
}
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage openssh-5.0p1-gcc2-2008-05-04-1
: $(baseURL)/openssh-5.0p1-gcc2-2008-05-04-1.zip
:
;
AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
: "sshd user" ;
}
}
# OpenSSL
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage openssl-0.9.8j-gcc2-2009-01-28
: $(baseURL)/openssl-0.9.8j-gcc2-2009-01-28.zip
:
;
}
}
# P7zip
if [ IsOptionalHaikuImagePackageAdded P7zip ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package P7zip available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage p7zip-4.61-gcc2-2008-12-03
: http://haiku-files.org/files/optional-packages/p7zip-4.61-gcc2-2008-12-03.zip
:
;
actions BuildHaikuImageExpanderRules
{
echo "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1)
}
Always expander.rules ;
MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
BuildHaikuImageExpanderRules expander.rules ;
AddFilesToHaikuImage home config etc : expander.rules ;
}
}
# Pe text editor
if [ IsOptionalHaikuImagePackageAdded Pe ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Pe available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Pe available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage pe-2.4.1-x86-rc3-gcc2-2009-03-07
: http://haiku-files.org/files/optional-packages/pe-2.4.1-x86-rc3-gcc2-2009-03-07.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Pe/Pe ;
AddSymlinkToHaikuImage home config bin
: /boot/apps/Pe/lpe ;
}
}
# Perl
if [ IsOptionalHaikuImagePackageAdded Perl ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Perl available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-10-29
: $(baseURL)/perl-5.10.0-gcc2-2008-10-29.zip
:
;
}
}
# Subversion
if [ IsOptionalHaikuImagePackageAdded Subversion ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
} else {
InstallOptionalHaikuImagePackage Subversion
: http://haiku.mlotz.ch/subversion-1.4.6-haiku-20080628.zip
: home
;
}
}
# Tar
if [ IsOptionalHaikuImagePackageAdded Tar ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Tar available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage tar-1.21-gcc2-2009-02-08
: $(baseURL)/tar-1.21-gcc2-2009-02-08.zip
:
;
}
}
# UserlandFS
if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
# kernel module
AddFilesToHaikuImage beos system add-ons kernel file_systems : userlandfs ;
# server
AddFilesToHaikuImage beos system servers : userlandfs_server ;
# libs
local userlandfsLibs =
libuserlandfs_beos_kernel.so
libuserlandfs_haiku_kernel.so
libuserlandfs_fuse.so
;
AddFilesToHaikuImage beos system lib : $(userlandfsLibs) ;
# development goodies
if [ IsOptionalHaikuImagePackageAdded Development ] {
# library symlinks
local lib ;
for lib in $(userlandfsLibs) {
AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ;
}
# FUSE headers
local fuseHeaders =
fuse_common_compat.h
fuse_common.h
fuse_compat.h
fuse.h
fuse_lowlevel_compat.h
fuse_lowlevel.h
fuse_opt.h
;
fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
SEARCH on $(fuseHeaders)
= [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
}
}
# Vision
if [ IsOptionalHaikuImagePackageAdded Vision ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage Vision-0.9.7-H-090301-gcc4
: http://vision.sf.net/Vision-0.9.7-H-090301-gcc4.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Vision-0.9.7-H-090301/Vision ;
} else {
InstallOptionalHaikuImagePackage Vision-0.9.7-H-090301
: http://vision.sf.net/Vision-0.9.7-H-090301.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Vision-0.9.7-H-090301/Vision ;
}
}
# VLC media player
if [ IsOptionalHaikuImagePackageAdded VLC ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package VLC available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package VLC available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage VLC-0.8.6c
: http://www.yellowbites.com/downloads/vlc-0.8.6c.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: "/boot/apps/vlc-0.8.6c/VLC media player" ;
AddSymlinkToHaikuImage common bin
: "/boot/apps/vlc-0.8.6c/VLC media player" : vlc ;
}
}
# Welcome
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
CopyDirectoryToHaikuImage beos documentation
: [ FDirName $(HAIKU_TOP) docs welcome ]
: welcome : -x .svn ;
CopyDirectoryToHaikuImage beos documentation
: [ FDirName $(HAIKU_TOP) docs userguide ]
: userguide : -x .svn ;
AddFilesToHaikuImage beos documentation
: [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ]
: Haiku-doc.css ;
AddSymlinkToHaikuImage home Desktop
: /boot/beos/documentation/welcome/welcome.html : Welcome ;
}
# WonderBrush
if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package WonderBrush available for gcc4" ;
} else {
local baseURL = http://www.yellowbites.com/downloads ;
InstallOptionalHaikuImagePackage WonderBrush-2.1.2-Haiku
: $(baseURL)/WonderBrush-2.1.2-gcc2-x86-Haiku.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/WonderBrush/WonderBrush ;
}
}
# Yasm
if [ IsOptionalHaikuImagePackageAdded Yasm ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage yasm-0.7.2-gcc2-2008-11-25
: $(baseURL)/yasm-0.7.2-gcc2-2008-11-25.zip
:
;
}
}