Merge branch 'master' into sam460ex
This commit is contained in:
commit
54b6d06e8e
@ -66,8 +66,8 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
|
||||
# ICU
|
||||
|
||||
# Note ICU isn't actually optional, but is still an external package
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1-x86-gcc2-2011-11-02a.zip ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.zip ;
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
|
||||
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
||||
@ -224,19 +224,19 @@ if $(TARGET_ARCH) = x86 {
|
||||
local ffmpegBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc4-2012-03-28.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc4-2012-03-12.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc4-2012-03-12.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc4-2012-03-12.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc4-2012-03-14.zip ;
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc2-2012-03-28.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc2-2012-03-11.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc2-2012-03-11.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc2-2012-03-11.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc2-2012-03-11.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc2-2012-03-14.zip ;
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
||||
@ -346,9 +346,9 @@ if $(TARGET_ARCH) = x86 {
|
||||
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
|
||||
@ -380,7 +380,7 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-x86-gcc4-2012-06-15.zip ;
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
|
||||
}
|
||||
@ -425,7 +425,7 @@ if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
||||
}
|
||||
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||
|
@ -83,13 +83,13 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] {
|
||||
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -101,13 +101,13 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] {
|
||||
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -119,13 +119,13 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] {
|
||||
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
|
||||
libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
|
||||
libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -137,13 +137,13 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] {
|
||||
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
|
||||
libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
|
||||
libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -155,13 +155,13 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] {
|
||||
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
|
||||
libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
|
||||
libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -173,13 +173,13 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] {
|
||||
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -191,13 +191,13 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] {
|
||||
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
|
||||
libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
|
||||
libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -227,78 +227,78 @@ if [ IsOptionalHaikuImagePackageAdded SDLLibs ] {
|
||||
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libsdl-1.2.15-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/libsdl-1.2.15-x86-gcc4-2012-05-31.zip ;
|
||||
libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
guilib-1.2.1-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/guilib-1.2.1-x86-gcc4-2012-05-31.zip ;
|
||||
guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-gfx-2.0.23-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-gfx-2.0.23-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-image-1.2.12-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-image-1.2.12-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-mixer-1.2.11-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-mixer-1.2.11-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-net-1.2.8-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-net-1.2.8-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-sound-1.0.3-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-sound-1.0.3-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-ttf-2.0.11-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sdl-ttf-2.0.11-x86-gcc4-2012-05-31.zip ;
|
||||
sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sge-030809-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/sge-030809-x86-gcc4-2012-05-31.zip ;
|
||||
sge-030809-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
smjpeg-0.2.1-x86-gcc4-2012-05-31.zip
|
||||
: $(baseURL)/lib/smjpeg-0.2.1-x86-gcc4-2012-05-31.zip ;
|
||||
smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
smpeg-0.4.5-x86-gcc4-2011-05-31.zip
|
||||
: $(baseURL)/lib/smpeg-0.4.5-x86-gcc4-2012-05-31.zip ;
|
||||
smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libsdl-1.2.15-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/libsdl-1.2.15-x86-gcc2-2012-06-24.zip ;
|
||||
libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
guilib-1.2.1-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/guilib-1.2.1-x86-gcc2-2012-06-24.zip ;
|
||||
guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-gfx-2.0.23-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sdl-gfx-2.0.23-x86-gcc2-2012-06-24.zip ;
|
||||
sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-image-1.2.12-x86-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sdl-image-1.2.12-x86-gcc2-2012-06-24.zip ;
|
||||
sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-mixer-1.2.11-x86-gcc2-2012-06-25.zip
|
||||
: $(baseURL)/lib/sdl-mixer-1.2.11-x86-gcc2-2012-06-25.zip ;
|
||||
sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-net-1.2.8-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sdl-net-1.2.8-x86-gcc2-2012-06-24.zip ;
|
||||
sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-sound-1.0.3-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sdl-sound-1.0.3-x86-gcc2-2012-06-24.zip ;
|
||||
sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip
|
||||
: $(baseURL)/lib/sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip
|
||||
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sdl-ttf-2.0.11-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sdl-ttf-2.0.11-x86-gcc2-2012-06-24.zip ;
|
||||
sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
sge-030809-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/sge-030809-x86-gcc2-2012-06-24.zip ;
|
||||
sge-030809-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
smjpeg-0.2.1-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/smjpeg-0.2.1-x86-gcc2-2012-06-24.zip ;
|
||||
smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
smpeg-0.4.5-x86-gcc2-2012-06-24.zip
|
||||
: $(baseURL)/lib/smpeg-0.4.5-x86-gcc2-2012-06-24.zip ;
|
||||
smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@ -309,48 +309,48 @@ if [ IsOptionalHaikuImagePackageAdded XiphLibs ] {
|
||||
Echo "No optional package XiphLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
speex-1.2rc1-x86-gcc4-2012-03-12.zip
|
||||
: $(baseURL)/lib/speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
|
||||
speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip
|
||||
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip
|
||||
: $(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip ;
|
||||
speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip
|
||||
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -384,12 +384,12 @@ if [ IsOptionalHaikuImagePackageAdded Caya ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
|
||||
InstallOptionalHaikuImagePackage
|
||||
caya-264-x86-gcc4-2012-05-20.zip
|
||||
: $(baseURL)/caya-264-x86-gcc4-2012-05-20.zip
|
||||
caya-264-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: $(baseURL)/caya-264-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: : true ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
caya-gpl-protocols-35-x86-gcc4-2012-05-20.zip
|
||||
: $(baseURL)/caya-gpl-protocols-35-x86-gcc4-2012-05-20.zip
|
||||
caya-gpl-protocols-35-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/caya-gpl-protocols-35-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: : true ;
|
||||
AddSymlinkToHaikuImage home config be Applications
|
||||
: /boot/apps/Caya/Caya ;
|
||||
@ -507,12 +507,12 @@ if [ IsOptionalHaikuImagePackageAdded Colors! ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
Colors!-2.0-x86-gcc4-2012-04-30.zip
|
||||
: $(baseURL)/Colors\!-2.0-x86-gcc4-2012-04-30.zip ;
|
||||
Colors!-2.1-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
Colors!-2.0-x86-gcc2-2012-04-30.zip
|
||||
: $(baseURL)/Colors\!-2.0-x86-gcc2-2012-04-30.zip ;
|
||||
Colors!-2.1-r1a4-x86-gcc2-2012-08-30.zip
|
||||
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
}
|
||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||
: /boot/apps/Colors\!/Colors\! ;
|
||||
@ -527,13 +527,13 @@ if [ IsOptionalHaikuImagePackageAdded Ctags ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
ctags-5.8-x86-gcc4-2012-01-23.zip
|
||||
: $(baseURL)/ctags-5.8-x86-gcc4-2012-01-23.zip
|
||||
ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
ctags-5.8-x86-gcc2-2010-05-24.zip
|
||||
: $(baseURL)/ctags-5.8-x86-gcc2-2010-05-24.zip
|
||||
ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
|
||||
: $(baseURL)/ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -881,12 +881,12 @@ if [ IsOptionalHaikuImagePackageAdded DMIDecode ] {
|
||||
Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
dmidecode-2.11-x86-gcc4-2011-11-02.zip
|
||||
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc4-2011-11-02.zip ;
|
||||
dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip
|
||||
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
dmidecode-2.11-x86-gcc2-2011-11-02.zip
|
||||
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc2-2011-11-02.zip ;
|
||||
dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip
|
||||
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@ -903,8 +903,8 @@ if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
doxygen-1.6.3-x86-gcc2-2010-05-17.zip
|
||||
: $(baseURL)/doxygen-1.6.3-x86-gcc2-2010-05-17.zip
|
||||
doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
|
||||
: $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -1014,8 +1014,8 @@ if [ IsOptionalHaikuImagePackageAdded GitDoc ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
gitdoc-1.7.10.2-x86-gcc4-2012-06-20.zip
|
||||
: $(baseURL)/gitdoc-1.7.10.2-x86-gcc4-2012-06-20.zip
|
||||
gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
@ -1174,12 +1174,12 @@ if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/lib/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
||||
: $(baseURL)/lib/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
||||
: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -1209,11 +1209,11 @@ if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/liblayout-1.4.1-r1a4-gcc4-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-gcc2-2012-08-28.zip
|
||||
: $(baseURL)/liblayout-1.4.1-r1a4-gcc2-2012-08-28.zip ;
|
||||
InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
|
||||
: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1224,8 +1224,8 @@ if [ IsOptionalHaikuImagePackageAdded Libmng ] {
|
||||
Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip ;
|
||||
libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: $(baseURL)/lib/libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
||||
@ -1292,13 +1292,13 @@ if [ IsOptionalHaikuImagePackageAdded Lua ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
lua-5.1.4-x86-gcc4-2010-10-30.zip
|
||||
: $(baseURL)/lua-5.1.4-x86-gcc4-2010-10-30.zip
|
||||
lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
lua-5.1.4-3-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-08-29.zip
|
||||
lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
|
||||
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@ -1506,8 +1506,8 @@ if [ IsOptionalHaikuImagePackageAdded P7zip ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
p7zip-9.20.1-x86-gcc4-2012-06-19.zip
|
||||
: $(baseURL)/p7zip-9.20.1-x86-gcc4-2012-06-19.zip ;
|
||||
p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
@ -1529,8 +1529,8 @@ if [ IsOptionalHaikuImagePackageAdded Paladin ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip ;
|
||||
paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip
|
||||
: $(baseURL)/paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
|
||||
@ -1552,8 +1552,8 @@ if [ IsOptionalHaikuImagePackageAdded PCRE ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip ;
|
||||
libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip
|
||||
@ -1571,7 +1571,7 @@ if [ IsOptionalHaikuImagePackageAdded Pe ] {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
pe-2.4.3-600-x86-gcc4-2011-12-18.zip
|
||||
: $(baseURL)/pe-2.4.3-600-x86-gcc4-2011-12-18.zip ;
|
||||
: $(baseURL)/pe-2.4.3-hg-r1a4-x86-gcc4-2012-09-04.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
pe-2.4.3-hg-r1a4-x86-gcc2-2012-08-29.zip
|
||||
@ -1613,8 +1613,8 @@ if [ IsOptionalHaikuImagePackageAdded Puri ] {
|
||||
Echo "No optional package Puri for gcc2" ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
puri-0.3.9.1-x86-gcc4-2012-08-16.zip
|
||||
: $(baseURL)/puri-0.3.9.1-x86-gcc4-2012-08-16.zip ;
|
||||
puri-0.3.9.1-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: $(baseURL)/puri-0.3.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||
: /boot/apps/Puri/Puri ;
|
||||
}
|
||||
@ -1628,8 +1628,8 @@ if [ IsOptionalHaikuImagePackageAdded Python ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
python-2.6.7-x86-gcc4-2011-06-24.zip
|
||||
: $(baseURL)/python-2.6.7-x86-gcc4-2011-06-24.zip
|
||||
python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
@ -1648,8 +1648,8 @@ if [ IsOptionalHaikuImagePackageAdded Rsync ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
|
||||
rsync-3.0.7-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: $(baseURL)/rsync-3.0.7-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
@ -1667,8 +1667,8 @@ if [ IsOptionalHaikuImagePackageAdded Ruby ] {
|
||||
Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip ;
|
||||
ruby-1.9.1-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: $(baseURL)/ruby-1.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
ruby-1.9.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
@ -1683,8 +1683,8 @@ if [ IsOptionalHaikuImagePackageAdded Sed ] {
|
||||
Echo "No optional package Sed available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip ;
|
||||
sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip
|
||||
: $(baseURL)/sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
sed-4.2.1-r1a4-x86-gcc2-2012-08-27.zip
|
||||
@ -1737,12 +1737,12 @@ if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip
|
||||
: $(baseURL)/taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip ;
|
||||
taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
taglib-1.7.2-r1a4-x86-gcc2-2012-08-30.zip
|
||||
: $(baseURL)/taglib-1.7.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip
|
||||
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1754,8 +1754,8 @@ if [ IsOptionalHaikuImagePackageAdded Tar ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
tar-1.26-x86-gcc4-2012-06-19.zip
|
||||
: $(baseURL)/tar-1.26-x86-gcc4-2012-06-19.zip ;
|
||||
tar-1.26-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/tar-1.26-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
tar-1.26-r1a4-x86-gcc2-2012-08-29.zip
|
||||
@ -1788,8 +1788,8 @@ if [ IsOptionalHaikuImagePackageAdded Transmission ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
|
||||
: $(baseURL)/transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
|
||||
transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
@ -1882,8 +1882,8 @@ if [ IsOptionalHaikuImagePackageAdded Vision ] {
|
||||
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage vision-908-x86-gcc4-2012-02-26.zip
|
||||
: $(baseURL)/vision-908-x86-gcc4-2012-02-26.zip ;
|
||||
InstallOptionalHaikuImagePackage vision-908-r1a4-x86-gcc4-2012-09-04.zip
|
||||
: $(baseURL)/vision-908-r1a4-x86-gcc4-2012-09-04.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
vision-908-r1a4-x86-gcc2-2012-08-29.zip
|
||||
@ -2044,8 +2044,8 @@ if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
|
||||
Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
xz-utils-5.0.1-x86-gcc4-2012-07-18.zip
|
||||
: $(baseURL)/xz-utils-5.0.1-x86-gcc4-2012-07-18.zip ;
|
||||
xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip
|
||||
: $(baseURL)/xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
|
||||
: "tar -Jtvf \\0045s"
|
||||
: "tar -Jxvf \\0045s"
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
@ -42,8 +42,8 @@ declare alreadyInstalled=""
|
||||
# Some Packages cannot be installed,
|
||||
# as they require either the source code or compiled binaries
|
||||
declare packageIgnoreList="Bluetooth Development DevelopmentMin \
|
||||
DevelopmentBase MandatoryPackages UserlandFS Welcome WifiFirmwareScriptData \
|
||||
ICU-devel ICU "
|
||||
DevelopmentBase ICU-devel ICU MandatoryPackages UserlandFS \
|
||||
WebPositive Welcome WifiFirmwareScriptData "
|
||||
|
||||
|
||||
function CreateInstallerScript()
|
||||
|
@ -142,7 +142,7 @@ class BNavMenu : public BSlowMenu {
|
||||
EntryListBase *fContainer;
|
||||
bool fIteratingDesktop;
|
||||
|
||||
const BObjectList<BString> *fTypesList;
|
||||
BObjectList<BString> *fTypesList;
|
||||
|
||||
TrackingHookData fTrackingHook;
|
||||
};
|
||||
|
@ -325,10 +325,15 @@ Playlist::RemoveItem(int32 index, bool careAboutCurrentIndex)
|
||||
_NotifyItemRemoved(index);
|
||||
|
||||
if (careAboutCurrentIndex) {
|
||||
if (index >= CountItems())
|
||||
SetCurrentItemIndex(CountItems() - 1);
|
||||
else if (index <= fCurrentIndex)
|
||||
SetCurrentItemIndex(index - 1);
|
||||
// fCurrentIndex isn't in sync yet, so might be one too large (if the
|
||||
// removed item was above the currently playing item).
|
||||
if (index < fCurrentIndex)
|
||||
SetCurrentItemIndex(fCurrentIndex - 1, false);
|
||||
else if (index == fCurrentIndex) {
|
||||
if (fCurrentIndex == CountItems())
|
||||
fCurrentIndex--;
|
||||
SetCurrentItemIndex(fCurrentIndex, true);
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
|
@ -18,15 +18,17 @@ resource(4, "META:EXTENS") message(234) {
|
||||
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
|
||||
|
||||
resource(6, "META:ICON") #'VICN' array {
|
||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
|
||||
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
|
||||
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
|
||||
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
|
||||
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
||||
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
||||
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
|
||||
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
|
||||
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
|
||||
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
|
||||
$"0A18001501178200040A04030907051815FF0117810004"
|
||||
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
|
||||
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
|
||||
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
|
||||
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
|
||||
$"38201B16FF01178100040A000108382B1116FF01178100040A00010938231916"
|
||||
$"FF01178100040A00010838251E16FF01178100040A00010938283116FF011781"
|
||||
$"0004"
|
||||
};
|
||||
|
@ -34,15 +34,17 @@ resource(4, "META:EXTENS") message(234) {
|
||||
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
|
||||
|
||||
resource(6, "META:ICON") #'VICN' array {
|
||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
|
||||
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
|
||||
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
|
||||
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
|
||||
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
||||
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
||||
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
|
||||
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
|
||||
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
|
||||
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
|
||||
$"0A18001501178200040A04030907051815FF0117810004"
|
||||
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
|
||||
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
|
||||
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
|
||||
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
|
||||
$"38201B16FF01178100040A000108382B1116FF01178100040A00010938231916"
|
||||
$"FF01178100040A00010838251E16FF01178100040A00010938283116FF011781"
|
||||
$"0004"
|
||||
};
|
||||
|
@ -75,6 +75,16 @@ BNotification::BNotification(BMessage* archive)
|
||||
if (archive->FindRef("_onClickFile", &onClickFile) == B_OK)
|
||||
SetOnClickFile(&onClickFile);
|
||||
|
||||
entry_ref onClickRef;
|
||||
int32 index = 0;
|
||||
while (archive->FindRef("_onClickRef", index++, &onClickRef) == B_OK)
|
||||
AddOnClickRef(&onClickRef);
|
||||
|
||||
BString onClickArgv;
|
||||
index = 0;
|
||||
while (archive->FindString("_onClickArgv", index++, &onClickArgv) == B_OK)
|
||||
AddOnClickArg(onClickArgv);
|
||||
|
||||
status_t ret = B_OK;
|
||||
BMessage icon;
|
||||
if ((ret = archive->FindMessage("_icon", &icon)) == B_OK) {
|
||||
|
@ -1106,15 +1106,15 @@ Model::SupportsMimeType(const char* type, const BObjectList<BString>* list,
|
||||
|
||||
int32 match;
|
||||
|
||||
if (type) {
|
||||
if (type || (list != NULL && list->IsEmpty())) {
|
||||
BString typeString(type);
|
||||
match = MatchMimeTypeString(&typeString, mimeSignature);
|
||||
} else
|
||||
} else {
|
||||
match = WhileEachListItem(const_cast<BObjectList<BString>*>(list),
|
||||
MatchMimeTypeString, mimeSignature);
|
||||
// const_cast shouldnt be here, have to have it until
|
||||
// MW cleans up
|
||||
|
||||
}
|
||||
if (match == kMatch)
|
||||
// supports the actual type, it can't get any better
|
||||
return kModelSupportsType;
|
||||
|
@ -130,7 +130,7 @@ void
|
||||
SpringLoadedFolderSetMenuStates(const BMenu* menu,
|
||||
const BObjectList<BString>* typeslist)
|
||||
{
|
||||
if (!menu || !typeslist)
|
||||
if (!menu || !typeslist || typeslist->IsEmpty())
|
||||
return;
|
||||
|
||||
// if a types list exists
|
||||
@ -263,8 +263,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message, const BHandler* target,
|
||||
fFlags(0),
|
||||
fItemList(0),
|
||||
fContainer(0),
|
||||
fTypesList(list)
|
||||
fTypesList(new BObjectList<BString>(10, true))
|
||||
{
|
||||
if (list != NULL)
|
||||
*fTypesList = *list;
|
||||
InitIconPreloader();
|
||||
|
||||
SetFont(be_plain_font);
|
||||
@ -292,8 +294,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
|
||||
fFlags(0),
|
||||
fItemList(0),
|
||||
fContainer(0),
|
||||
fTypesList(list)
|
||||
fTypesList(new BObjectList<BString>(10, true))
|
||||
{
|
||||
if (list != NULL)
|
||||
*fTypesList = *list;
|
||||
InitIconPreloader();
|
||||
|
||||
SetFont(be_plain_font);
|
||||
@ -313,6 +317,7 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
|
||||
|
||||
BNavMenu::~BNavMenu()
|
||||
{
|
||||
delete fTypesList;
|
||||
}
|
||||
|
||||
|
||||
@ -334,13 +339,6 @@ BNavMenu::AttachedToWindow()
|
||||
void
|
||||
BNavMenu::DetachedFromWindow()
|
||||
{
|
||||
// does this need to set this to null?
|
||||
// the parent, handling dnd should set this
|
||||
// appropriately
|
||||
//
|
||||
// if this changes, BeMenu and RecentsMenu
|
||||
// in Deskbar should also change
|
||||
fTypesList = NULL;
|
||||
}
|
||||
|
||||
|
||||
@ -814,7 +812,10 @@ BNavMenu::SetShowParent(bool show)
|
||||
void
|
||||
BNavMenu::SetTypesList(const BObjectList<BString>* list)
|
||||
{
|
||||
fTypesList = list;
|
||||
if (list != NULL)
|
||||
*fTypesList = *list;
|
||||
else
|
||||
fTypesList->MakeEmpty();
|
||||
}
|
||||
|
||||
|
||||
|
@ -727,9 +727,8 @@ JPEGPreDecode(TIFF* tif, tsample_t s)
|
||||
sp->cinfo.d.image_height < segment_height) {
|
||||
TIFFWarningExt(tif->tif_clientdata, module,
|
||||
"Improper JPEG strip/tile size, "
|
||||
"expected %dx%d, got %dx%d",
|
||||
segment_width, segment_height,
|
||||
sp->cinfo.d.image_width,
|
||||
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
|
||||
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
|
||||
sp->cinfo.d.image_height);
|
||||
}
|
||||
if (sp->cinfo.d.image_width > segment_width ||
|
||||
@ -742,9 +741,9 @@ JPEGPreDecode(TIFF* tif, tsample_t s)
|
||||
*/
|
||||
TIFFErrorExt(tif->tif_clientdata, module,
|
||||
"JPEG strip/tile size exceeds expected dimensions,"
|
||||
" expected %dx%d, got %dx%d",
|
||||
segment_width, segment_height,
|
||||
sp->cinfo.d.image_width, sp->cinfo.d.image_height);
|
||||
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
|
||||
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
|
||||
sp->cinfo.d.image_height);
|
||||
return (0);
|
||||
}
|
||||
if (sp->cinfo.d.num_components !=
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "AntialiasingSettingsView.h"
|
||||
#include "APRView.h"
|
||||
#include "DecorSettingsView.h"
|
||||
#include "LookAndFeelSettingsView.h"
|
||||
#include "defs.h"
|
||||
#include "FontView.h"
|
||||
|
||||
@ -54,15 +54,15 @@ APRWindow::APRWindow(BRect frame)
|
||||
|
||||
fColorsView = new APRView(B_TRANSLATE("Colors"));
|
||||
|
||||
fDecorSettings = new DecorSettingsView(
|
||||
B_TRANSLATE("Decorators"));
|
||||
fLookAndFeelSettings = new LookAndFeelSettingsView(
|
||||
B_TRANSLATE("Look and feel"));
|
||||
|
||||
fAntialiasingSettings = new AntialiasingSettingsView(
|
||||
B_TRANSLATE("Antialiasing"));
|
||||
|
||||
tabView->AddTab(fFontSettings);
|
||||
tabView->AddTab(fColorsView);
|
||||
tabView->AddTab(fDecorSettings);
|
||||
tabView->AddTab(fLookAndFeelSettings);
|
||||
tabView->AddTab(fAntialiasingSettings);
|
||||
|
||||
_UpdateButtons();
|
||||
@ -92,7 +92,7 @@ APRWindow::MessageReceived(BMessage *message)
|
||||
fFontSettings->SetDefaults();
|
||||
fColorsView->SetDefaults();
|
||||
fAntialiasingSettings->SetDefaults();
|
||||
fDecorSettings->SetDefaults();
|
||||
fLookAndFeelSettings->SetDefaults();
|
||||
|
||||
_UpdateButtons();
|
||||
break;
|
||||
@ -101,7 +101,7 @@ APRWindow::MessageReceived(BMessage *message)
|
||||
fColorsView->Revert();
|
||||
fAntialiasingSettings->Revert();
|
||||
fFontSettings->Revert();
|
||||
fDecorSettings->Revert();
|
||||
fLookAndFeelSettings->Revert();
|
||||
|
||||
_UpdateButtons();
|
||||
break;
|
||||
@ -127,11 +127,11 @@ APRWindow::_IsDefaultable() const
|
||||
// printf("fonts defaultable: %d\n", fFontSettings->IsDefaultable());
|
||||
// printf("colors defaultable: %d\n", fColorsView->IsDefaultable());
|
||||
// printf("AA defaultable: %d\n", fAntialiasingSettings->IsDefaultable());
|
||||
// printf("decor defaultable: %d\n", fDecorSettings->IsDefaultable());
|
||||
// printf("decor defaultable: %d\n", fLookAndFeelSettings->IsDefaultable());
|
||||
return fColorsView->IsDefaultable()
|
||||
|| fFontSettings->IsDefaultable()
|
||||
|| fAntialiasingSettings->IsDefaultable()
|
||||
|| fDecorSettings->IsDefaultable();
|
||||
|| fLookAndFeelSettings->IsDefaultable();
|
||||
}
|
||||
|
||||
|
||||
@ -141,9 +141,9 @@ APRWindow::_IsRevertable() const
|
||||
// printf("fonts revertable: %d\n", fFontSettings->IsRevertable());
|
||||
// printf("colors revertable: %d\n", fColorsView->IsRevertable());
|
||||
// printf("AA revertable: %d\n", fAntialiasingSettings->IsRevertable());
|
||||
// printf("decor revertable: %d\n", fDecorSettings->IsRevertable());
|
||||
// printf("decor revertable: %d\n", fLookAndFeelSettings->IsRevertable());
|
||||
return fColorsView->IsRevertable()
|
||||
|| fFontSettings->IsRevertable()
|
||||
|| fAntialiasingSettings->IsRevertable()
|
||||
|| fDecorSettings->IsRevertable();
|
||||
|| fLookAndFeelSettings->IsRevertable();
|
||||
}
|
||||
|
@ -20,7 +20,7 @@
|
||||
class APRView;
|
||||
class AntialiasingSettingsView;
|
||||
class FontView;
|
||||
class DecorSettingsView;
|
||||
class LookAndFeelSettingsView;
|
||||
|
||||
|
||||
class APRWindow : public BWindow {
|
||||
@ -39,7 +39,7 @@ private:
|
||||
|
||||
AntialiasingSettingsView* fAntialiasingSettings;
|
||||
FontView* fFontSettings;
|
||||
DecorSettingsView* fDecorSettings;
|
||||
LookAndFeelSettingsView* fLookAndFeelSettings;
|
||||
};
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ Includes [ FGristFiles AntialiasingSettingsView.cpp ]
|
||||
Preference Appearance :
|
||||
APRMain.cpp
|
||||
AntialiasingSettingsView.cpp
|
||||
DecorSettingsView.cpp
|
||||
LookAndFeelSettingsView.cpp
|
||||
FontSelectionView.cpp
|
||||
FontView.cpp
|
||||
APRView.cpp
|
||||
@ -40,7 +40,7 @@ DoCatalogs Appearance :
|
||||
ColorSet.cpp
|
||||
ColorWell.cpp
|
||||
ColorWhichItem.cpp
|
||||
DecorSettingsView.cpp
|
||||
LookAndFeelSettingsView.cpp
|
||||
FontView.cpp
|
||||
FontSelectionView.cpp
|
||||
;
|
||||
|
@ -5,10 +5,11 @@
|
||||
* Authors:
|
||||
* Alexander von Gluck, kallisti5@unixzen.com
|
||||
* Stephan Aßmus <superstippi@gmx.de>
|
||||
* Ryan Leavengood <leavengood@gmail.com>
|
||||
*/
|
||||
|
||||
|
||||
#include "DecorSettingsView.h"
|
||||
#include "LookAndFeelSettingsView.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -17,8 +18,10 @@
|
||||
#include <Box.h>
|
||||
#include <Button.h>
|
||||
#include <Catalog.h>
|
||||
#include <CheckBox.h>
|
||||
#include <GridLayoutBuilder.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
@ -32,18 +35,26 @@
|
||||
|
||||
#undef B_TRANSLATION_CONTEXT
|
||||
#define B_TRANSLATION_CONTEXT "DecorSettingsView"
|
||||
// This was not renamed to keep from breaking translations
|
||||
|
||||
|
||||
static const int32 kMsgSetDecor = 'deco';
|
||||
static const int32 kMsgDecorInfo = 'idec';
|
||||
static const int32 kMsgDoubleScrollbarArrows = 'dsba';
|
||||
|
||||
static const bool kDefaultDoubleScrollbarArrowsSetting = false;
|
||||
|
||||
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
DecorSettingsView::DecorSettingsView(const char* name)
|
||||
LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name)
|
||||
:
|
||||
BView(name, 0)
|
||||
BView(name, 0),
|
||||
fDecorInfoButton(NULL),
|
||||
fDecorMenuField(NULL),
|
||||
fDecorMenu(NULL),
|
||||
fDoubleScrollbarArrowsCheckBox(NULL)
|
||||
{
|
||||
// Decorator menu
|
||||
_BuildDecorMenu();
|
||||
@ -53,6 +64,13 @@ DecorSettingsView::DecorSettingsView(const char* name)
|
||||
fDecorInfoButton = new BButton(B_TRANSLATE("About"),
|
||||
new BMessage(kMsgDecorInfo));
|
||||
|
||||
fDoubleScrollbarArrowsCheckBox = new BCheckBox("doubleScrollbarArrows",
|
||||
B_TRANSLATE("Use double scrollbar arrows"),
|
||||
new BMessage(kMsgDoubleScrollbarArrows));
|
||||
|
||||
fSavedDoubleArrowsValue = _GetDoubleScrollbarArrowsSetting();
|
||||
fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue);
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
|
||||
// control layout
|
||||
@ -61,20 +79,21 @@ DecorSettingsView::DecorSettingsView(const char* name)
|
||||
.Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0)
|
||||
.Add(fDecorInfoButton, 2, 0)
|
||||
|
||||
.Add(BSpaceLayoutItem::CreateGlue(), 0, 3, 2)
|
||||
.Add(fDoubleScrollbarArrowsCheckBox, 0, 3, 2)
|
||||
.Add(BSpaceLayoutItem::CreateGlue(), 0, 4, 2)
|
||||
.SetInsets(10, 10, 10, 10)
|
||||
);
|
||||
// TODO : Decorator Preview Image?
|
||||
}
|
||||
|
||||
|
||||
DecorSettingsView::~DecorSettingsView()
|
||||
LookAndFeelSettingsView::~LookAndFeelSettingsView()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::AttachedToWindow()
|
||||
LookAndFeelSettingsView::AttachedToWindow()
|
||||
{
|
||||
if (Parent() != NULL)
|
||||
SetViewColor(Parent()->ViewColor());
|
||||
@ -83,11 +102,12 @@ DecorSettingsView::AttachedToWindow()
|
||||
|
||||
fDecorMenu->SetTargetForItems(this);
|
||||
fDecorInfoButton->SetTarget(this);
|
||||
fDoubleScrollbarArrowsCheckBox->SetTarget(this);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::MessageReceived(BMessage *msg)
|
||||
LookAndFeelSettingsView::MessageReceived(BMessage *msg)
|
||||
{
|
||||
switch (msg->what) {
|
||||
case kMsgSetDecor:
|
||||
@ -125,6 +145,9 @@ DecorSettingsView::MessageReceived(BMessage *msg)
|
||||
|
||||
break;
|
||||
}
|
||||
case kMsgDoubleScrollbarArrows:
|
||||
_SetDoubleScrollbarArrowsSetting(fDoubleScrollbarArrowsCheckBox->Value());
|
||||
break;
|
||||
|
||||
default:
|
||||
BView::MessageReceived(msg);
|
||||
@ -134,7 +157,7 @@ DecorSettingsView::MessageReceived(BMessage *msg)
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::_BuildDecorMenu()
|
||||
LookAndFeelSettingsView::_BuildDecorMenu()
|
||||
{
|
||||
fDecorMenu = new BPopUpMenu(B_TRANSLATE("Choose Decorator"));
|
||||
|
||||
@ -163,14 +186,14 @@ DecorSettingsView::_BuildDecorMenu()
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::_SetDecor(const BString& name)
|
||||
LookAndFeelSettingsView::_SetDecor(const BString& name)
|
||||
{
|
||||
_SetDecor(fDecorUtility.FindDecorator(name));
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
|
||||
LookAndFeelSettingsView::_SetDecor(DecorInfo* decorInfo)
|
||||
{
|
||||
if (fDecorUtility.SetDecorator(decorInfo) == B_OK) {
|
||||
_AdoptToCurrentDecor();
|
||||
@ -180,7 +203,7 @@ DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::_AdoptToCurrentDecor()
|
||||
LookAndFeelSettingsView::_AdoptToCurrentDecor()
|
||||
{
|
||||
fCurrentDecor = fDecorUtility.CurrentDecorator()->Name();
|
||||
if (fSavedDecor.Length() == 0)
|
||||
@ -189,7 +212,7 @@ DecorSettingsView::_AdoptToCurrentDecor()
|
||||
}
|
||||
|
||||
void
|
||||
DecorSettingsView::_AdoptInterfaceToCurrentDecor()
|
||||
LookAndFeelSettingsView::_AdoptInterfaceToCurrentDecor()
|
||||
{
|
||||
BMenuItem* item = fDecorMenu->FindItem(fCurrentDecor);
|
||||
if (item != NULL)
|
||||
@ -197,29 +220,60 @@ DecorSettingsView::_AdoptInterfaceToCurrentDecor()
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
LookAndFeelSettingsView::_GetDoubleScrollbarArrowsSetting()
|
||||
{
|
||||
scroll_bar_info info;
|
||||
get_scroll_bar_info(&info);
|
||||
|
||||
return info.double_arrows;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::SetDefaults()
|
||||
LookAndFeelSettingsView::_SetDoubleScrollbarArrowsSetting(bool value)
|
||||
{
|
||||
scroll_bar_info info;
|
||||
get_scroll_bar_info(&info);
|
||||
|
||||
info.double_arrows = value;
|
||||
set_scroll_bar_info(&info);
|
||||
|
||||
Window()->PostMessage(kMsgUpdate);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LookAndFeelSettingsView::SetDefaults()
|
||||
{
|
||||
_SetDecor(fDecorUtility.DefaultDecorator());
|
||||
_SetDoubleScrollbarArrowsSetting(kDefaultDoubleScrollbarArrowsSetting);
|
||||
fDoubleScrollbarArrowsCheckBox->SetValue(
|
||||
kDefaultDoubleScrollbarArrowsSetting);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
DecorSettingsView::IsDefaultable()
|
||||
LookAndFeelSettingsView::IsDefaultable()
|
||||
{
|
||||
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name();
|
||||
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name() ||
|
||||
fDoubleScrollbarArrowsCheckBox->Value() !=
|
||||
kDefaultDoubleScrollbarArrowsSetting;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
DecorSettingsView::IsRevertable()
|
||||
LookAndFeelSettingsView::IsRevertable()
|
||||
{
|
||||
return fCurrentDecor != fSavedDecor;
|
||||
return fCurrentDecor != fSavedDecor ||
|
||||
fDoubleScrollbarArrowsCheckBox->Value() != fSavedDoubleArrowsValue;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DecorSettingsView::Revert()
|
||||
LookAndFeelSettingsView::Revert()
|
||||
{
|
||||
_SetDecor(fSavedDecor);
|
||||
_SetDoubleScrollbarArrowsSetting(fSavedDoubleArrowsValue);
|
||||
fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue);
|
||||
}
|
@ -5,9 +5,10 @@
|
||||
* Authors:
|
||||
* Alexander von Gluck, kallisti5@unixzen.com
|
||||
* Stephan Aßmus <superstippi@gmx.de>
|
||||
* Ryan Leavengood <leavengood@gmail.com>
|
||||
*/
|
||||
#ifndef DECOR_SETTINGS_VIEW_H
|
||||
#define DECOR_SETTINGS_VIEW_H
|
||||
#ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H
|
||||
#define LOOK_AND_FEEL_SETTINGS_VIEW_H
|
||||
|
||||
|
||||
#include <DecorInfo.h>
|
||||
@ -16,14 +17,15 @@
|
||||
|
||||
|
||||
class BButton;
|
||||
class BCheckBox;
|
||||
class BMenuField;
|
||||
class BPopUpMenu;
|
||||
|
||||
|
||||
class DecorSettingsView : public BView {
|
||||
class LookAndFeelSettingsView : public BView {
|
||||
public:
|
||||
DecorSettingsView(const char* name);
|
||||
virtual ~DecorSettingsView();
|
||||
LookAndFeelSettingsView(const char* name);
|
||||
virtual ~LookAndFeelSettingsView();
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
@ -40,6 +42,8 @@ private:
|
||||
void _BuildDecorMenu();
|
||||
void _AdoptToCurrentDecor();
|
||||
void _AdoptInterfaceToCurrentDecor();
|
||||
bool _GetDoubleScrollbarArrowsSetting();
|
||||
void _SetDoubleScrollbarArrowsSetting(bool value);
|
||||
|
||||
private:
|
||||
DecorInfoUtility fDecorUtility;
|
||||
@ -47,9 +51,11 @@ private:
|
||||
BButton* fDecorInfoButton;
|
||||
BMenuField* fDecorMenuField;
|
||||
BPopUpMenu* fDecorMenu;
|
||||
BCheckBox* fDoubleScrollbarArrowsCheckBox;
|
||||
|
||||
BString fSavedDecor;
|
||||
BString fCurrentDecor;
|
||||
bool fSavedDoubleArrowsValue;
|
||||
};
|
||||
|
||||
#endif // DECOR_SETTINGS_VIEW_H
|
||||
#endif // LOOK_AND_FEEL_SETTINGS_VIEW_H
|
@ -57,7 +57,7 @@ DesktopSettingsPrivate::_SetDefaults()
|
||||
|
||||
// init scrollbar info
|
||||
fScrollBarInfo.proportional = true;
|
||||
fScrollBarInfo.double_arrows = true;
|
||||
fScrollBarInfo.double_arrows = false;
|
||||
fScrollBarInfo.knob = 1;
|
||||
// look of the knob (R5: (0, 1, 2), 1 = default)
|
||||
fScrollBarInfo.min_knob_size = 15;
|
||||
|
4
src/system/kernel/cache/block_cache.cpp
vendored
4
src/system/kernel/cache/block_cache.cpp
vendored
@ -3046,9 +3046,11 @@ cache_abort_sub_transaction(void* _cache, int32 id)
|
||||
// The parent transaction didn't change the block, but the sub
|
||||
// transaction did - we need to revert to the original data.
|
||||
// The block is no longer part of the transaction
|
||||
ASSERT(block->original_data != NULL);
|
||||
if (block->original_data != NULL) {
|
||||
// The block might not have original data if was empty
|
||||
memcpy(block->current_data, block->original_data,
|
||||
cache->block_size);
|
||||
}
|
||||
|
||||
if (last != NULL)
|
||||
last->transaction_next = next;
|
||||
|
@ -3,6 +3,8 @@ SubDir HAIKU_TOP src system kernel vm ;
|
||||
UsePrivateHeaders shared ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) device_manager ] ;
|
||||
UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
|
||||
UsePrivateHeaders [ FDirName kernel util ] ;
|
||||
|
||||
KernelMergeObject kernel_vm.o :
|
||||
PageCacheLocker.cpp
|
||||
|
@ -1,4 +1,6 @@
|
||||
/*
|
||||
* Copyright 2012, Alexander von Gluck IV, kallisti5@unixzen.com.
|
||||
* Copyright 2011, Hamish Morrison, hamish@lavabit.com.
|
||||
* Copyright 2008, Zhao Shuai, upczhsh@163.com.
|
||||
* Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
|
||||
* Copyright 2002-2009, Axel Dörfler, axeld@pinc-software.de.
|
||||
@ -17,13 +19,20 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <FindDirectory.h>
|
||||
#include <KernelExport.h>
|
||||
#include <NodeMonitor.h>
|
||||
|
||||
#include <arch_config.h>
|
||||
#include <boot_device.h>
|
||||
#include <disk_device_manager/KDiskDevice.h>
|
||||
#include <disk_device_manager/KDiskDeviceManager.h>
|
||||
#include <disk_device_manager/KDiskSystem.h>
|
||||
#include <disk_device_manager/KPartitionVisitor.h>
|
||||
#include <driver_settings.h>
|
||||
#include <fs/fd.h>
|
||||
#include <fs/KPath.h>
|
||||
#include <fs_info.h>
|
||||
#include <fs_interface.h>
|
||||
#include <heap.h>
|
||||
#include <kernel_daemon.h>
|
||||
@ -69,6 +78,8 @@
|
||||
#define SWAP_BLOCK_MASK (SWAP_BLOCK_PAGES - 1)
|
||||
|
||||
|
||||
static const char* const kDefaultSwapPath = "/var/swap";
|
||||
|
||||
struct swap_file : DoublyLinkedListLinkImpl<swap_file> {
|
||||
int fd;
|
||||
struct vnode* vnode;
|
||||
@ -284,8 +295,9 @@ swap_slot_alloc(uint32 count)
|
||||
// if this swap file has used more than 90% percent of its space
|
||||
// switch to another
|
||||
if (sSwapFileAlloc->bmp->free_slots
|
||||
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10)
|
||||
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10) {
|
||||
sSwapFileAlloc = sSwapFileList.GetNext(sSwapFileAlloc);
|
||||
}
|
||||
|
||||
mutex_unlock(&sSwapFileListLock);
|
||||
|
||||
@ -299,9 +311,10 @@ find_swap_file(swap_addr_t slotIndex)
|
||||
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
||||
swap_file* swapFile = it.Next();) {
|
||||
if (slotIndex >= swapFile->first_slot
|
||||
&& slotIndex < swapFile->last_slot)
|
||||
&& slotIndex < swapFile->last_slot) {
|
||||
return swapFile;
|
||||
}
|
||||
}
|
||||
|
||||
panic("find_swap_file(): can't find swap file for slot %ld\n", slotIndex);
|
||||
return NULL;
|
||||
@ -474,8 +487,8 @@ VMAnonymousCache::Resize(off_t newSize, int priority)
|
||||
swap_block* swapBlock = NULL;
|
||||
|
||||
for (page_num_t pageIndex = (newSize + B_PAGE_SIZE - 1) >> PAGE_SHIFT;
|
||||
pageIndex < oldPageCount && fAllocatedSwapSize > 0;
|
||||
pageIndex++) {
|
||||
pageIndex < oldPageCount && fAllocatedSwapSize > 0; pageIndex++) {
|
||||
|
||||
WriteLocker locker(sSwapHashLock);
|
||||
|
||||
// Get the swap slot index for the page.
|
||||
@ -731,8 +744,8 @@ VMAnonymousCache::WriteAsync(off_t offset, const generic_io_vec* vecs,
|
||||
_callback->IOFinished(B_NO_MEMORY, true, 0);
|
||||
return B_NO_MEMORY;
|
||||
}
|
||||
// TODO: If the page already had swap space assigned, we don't need an own
|
||||
// callback.
|
||||
// TODO: If the page already had swap space assigned, we don't need an own
|
||||
// callback.
|
||||
|
||||
callback->SetTo(pageIndex, slotIndex, newSlot);
|
||||
|
||||
@ -1165,6 +1178,93 @@ VMAnonymousCache::_MergeSwapPages(VMAnonymousCache* source)
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
// TODO: This can be removed if we get BFS uuid's
|
||||
struct VolumeInfo {
|
||||
char name[B_FILE_NAME_LENGTH];
|
||||
char device[B_FILE_NAME_LENGTH];
|
||||
char filesystem[B_OS_NAME_LENGTH];
|
||||
off_t capacity;
|
||||
};
|
||||
|
||||
|
||||
class PartitionScorer : public KPartitionVisitor {
|
||||
public:
|
||||
PartitionScorer(VolumeInfo& volumeInfo)
|
||||
:
|
||||
fBestPartition(NULL),
|
||||
fBestScore(-1),
|
||||
fVolumeInfo(volumeInfo)
|
||||
{
|
||||
}
|
||||
|
||||
virtual bool VisitPre(KPartition* partition)
|
||||
{
|
||||
if (!partition->ContainsFileSystem())
|
||||
return false;
|
||||
|
||||
KPath path;
|
||||
partition->GetPath(&path);
|
||||
|
||||
int score = 0;
|
||||
if (strcmp(fVolumeInfo.name, partition->ContentName()) == 0)
|
||||
score += 4;
|
||||
if (strcmp(fVolumeInfo.device, path.Path()) == 0)
|
||||
score += 3;
|
||||
if (fVolumeInfo.capacity == partition->Size())
|
||||
score += 2;
|
||||
if (strcmp(fVolumeInfo.filesystem,
|
||||
partition->DiskSystem()->ShortName()) == 0) {
|
||||
score += 1;
|
||||
}
|
||||
if (score >= 4 && score > fBestScore) {
|
||||
fBestPartition = partition;
|
||||
fBestScore = score;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
KPartition* fBestPartition;
|
||||
|
||||
private:
|
||||
int32 fBestScore;
|
||||
VolumeInfo fVolumeInfo;
|
||||
};
|
||||
|
||||
|
||||
status_t
|
||||
get_mount_point(KPartition* partition, KPath* mountPoint)
|
||||
{
|
||||
if (!mountPoint || !partition->ContainsFileSystem())
|
||||
return B_BAD_VALUE;
|
||||
|
||||
const char* volumeName = partition->ContentName();
|
||||
if (!volumeName || strlen(volumeName) == 0)
|
||||
volumeName = partition->Name();
|
||||
if (!volumeName || strlen(volumeName) == 0)
|
||||
volumeName = "unnamed volume";
|
||||
|
||||
char basePath[B_PATH_NAME_LENGTH];
|
||||
int32 len = snprintf(basePath, sizeof(basePath), "/%s", volumeName);
|
||||
for (int32 i = 1; i < len; i++)
|
||||
if (basePath[i] == '/')
|
||||
basePath[i] = '-';
|
||||
char* path = mountPoint->LockBuffer();
|
||||
int32 pathLen = mountPoint->BufferSize();
|
||||
strncpy(path, basePath, pathLen);
|
||||
|
||||
struct stat dummy;
|
||||
for (int i = 1; ; i++) {
|
||||
if (stat(path, &dummy) != 0)
|
||||
break;
|
||||
snprintf(path, pathLen, "%s%d", basePath, i);
|
||||
}
|
||||
|
||||
mountPoint->UnlockBuffer();
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
swap_file_add(const char* path)
|
||||
{
|
||||
@ -1291,8 +1391,8 @@ void
|
||||
swap_init(void)
|
||||
{
|
||||
// create swap block cache
|
||||
sSwapBlockCache = create_object_cache("swapblock",
|
||||
sizeof(swap_block), sizeof(void*), NULL, NULL, NULL);
|
||||
sSwapBlockCache = create_object_cache("swapblock", sizeof(swap_block),
|
||||
sizeof(void*), NULL, NULL, NULL);
|
||||
if (sSwapBlockCache == NULL)
|
||||
panic("swap_init(): can't create object cache for swap blocks\n");
|
||||
|
||||
@ -1338,46 +1438,166 @@ swap_init_post_modules()
|
||||
if (gReadOnlyBootDevice)
|
||||
return;
|
||||
|
||||
off_t size = 0;
|
||||
bool swapEnabled = true;
|
||||
bool swapAutomatic = true;
|
||||
off_t swapSize = 0;
|
||||
|
||||
dev_t swapDeviceID = -1;
|
||||
VolumeInfo selectedVolume = {};
|
||||
|
||||
void* settings = load_driver_settings("virtual_memory");
|
||||
|
||||
if (settings != NULL) {
|
||||
if (!get_driver_boolean_parameter(settings, "vm", false, false)) {
|
||||
// We pass a lot of information on the swap device, this is mostly to
|
||||
// ensure that we are dealing with the same device that was configured.
|
||||
|
||||
// TODO: Some kind of BFS uuid would be great here :)
|
||||
const char* enabled = get_driver_parameter(settings, "vm", NULL, NULL);
|
||||
|
||||
if (enabled != NULL) {
|
||||
swapEnabled = get_driver_boolean_parameter(settings, "vm",
|
||||
false, false);
|
||||
|
||||
const char* size = get_driver_parameter(settings, "swap_size",
|
||||
NULL, NULL);
|
||||
const char* volume = get_driver_parameter(settings,
|
||||
"swap_volume_name", NULL, NULL);
|
||||
const char* device = get_driver_parameter(settings,
|
||||
"swap_volume_device", NULL, NULL);
|
||||
const char* filesystem = get_driver_parameter(settings,
|
||||
"swap_volume_filesystem", NULL, NULL);
|
||||
const char* capacity = get_driver_parameter(settings,
|
||||
"swap_volume_capacity", NULL, NULL);
|
||||
|
||||
if (size != NULL && device != NULL && volume != NULL
|
||||
&& filesystem != NULL && capacity != NULL) {
|
||||
// User specified a size / volume
|
||||
swapAutomatic = false;
|
||||
swapSize = atoll(size);
|
||||
strncpy(selectedVolume.name, volume,
|
||||
sizeof(selectedVolume.name));
|
||||
strncpy(selectedVolume.device, device,
|
||||
sizeof(selectedVolume.device));
|
||||
strncpy(selectedVolume.filesystem, filesystem,
|
||||
sizeof(selectedVolume.filesystem));
|
||||
selectedVolume.capacity = atoll(capacity);
|
||||
} else if (size != NULL) {
|
||||
// Older file format, no location information (assume /var/swap)
|
||||
swapAutomatic = false;
|
||||
swapSize = atoll(size);
|
||||
swapDeviceID = gBootDevice;
|
||||
}
|
||||
}
|
||||
unload_driver_settings(settings);
|
||||
return;
|
||||
}
|
||||
|
||||
const char* string = get_driver_parameter(settings, "swap_size", NULL,
|
||||
NULL);
|
||||
size = string ? atoll(string) : 0;
|
||||
if (swapAutomatic) {
|
||||
swapEnabled = true;
|
||||
swapSize = (off_t)vm_page_num_pages() * B_PAGE_SIZE;
|
||||
if (swapSize <= (1024 * 1024 * 1024)) {
|
||||
// Memory under 1GB? double the swap
|
||||
swapSize *= 2;
|
||||
}
|
||||
}
|
||||
|
||||
unload_driver_settings(settings);
|
||||
} else
|
||||
size = (off_t)vm_page_num_pages() * B_PAGE_SIZE * 2;
|
||||
|
||||
if (size < B_PAGE_SIZE)
|
||||
if (!swapEnabled || swapSize < B_PAGE_SIZE)
|
||||
return;
|
||||
|
||||
int fd = open("/var/swap", O_RDWR | O_CREAT | O_NOCACHE, S_IRUSR | S_IWUSR);
|
||||
if (!swapAutomatic && swapDeviceID < 0) {
|
||||
// If user-specified swap, and no swap device has been chosen yet...
|
||||
KDiskDeviceManager::CreateDefault();
|
||||
KDiskDeviceManager* manager = KDiskDeviceManager::Default();
|
||||
PartitionScorer visitor(selectedVolume);
|
||||
|
||||
KDiskDevice* device;
|
||||
int32 cookie = 0;
|
||||
while ((device = manager->NextDevice(&cookie)) != NULL) {
|
||||
if (device->IsReadOnlyMedia() || device->IsWriteOnce()
|
||||
|| device->IsRemovable()) {
|
||||
continue;
|
||||
}
|
||||
device->VisitEachDescendant(&visitor);
|
||||
}
|
||||
|
||||
if (!visitor.fBestPartition) {
|
||||
dprintf("%s: Can't find configured swap partition '%s'\n",
|
||||
__func__, selectedVolume.name);
|
||||
} else {
|
||||
if (visitor.fBestPartition->IsMounted())
|
||||
swapDeviceID = visitor.fBestPartition->VolumeID();
|
||||
else {
|
||||
KPath devPath, mountPoint;
|
||||
visitor.fBestPartition->GetPath(&devPath);
|
||||
get_mount_point(visitor.fBestPartition, &mountPoint);
|
||||
const char* mountPath = mountPoint.Path();
|
||||
mkdir(mountPath, S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
swapDeviceID = _kern_mount(mountPath, devPath.Path(),
|
||||
NULL, 0, NULL, 0);
|
||||
if (swapDeviceID < 0) {
|
||||
dprintf("%s: Can't mount configured swap partition '%s'\n",
|
||||
__func__, selectedVolume.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (swapDeviceID < 0)
|
||||
swapDeviceID = gBootDevice;
|
||||
|
||||
// We now have a swapDeviceID which is used for the swap file
|
||||
|
||||
KPath path;
|
||||
struct fs_info info;
|
||||
_kern_read_fs_info(swapDeviceID, &info);
|
||||
if (swapDeviceID == gBootDevice)
|
||||
path = kDefaultSwapPath;
|
||||
else {
|
||||
vfs_entry_ref_to_path(info.dev, info.root,
|
||||
".", path.LockBuffer(), path.BufferSize());
|
||||
path.UnlockBuffer();
|
||||
path.Append("swap");
|
||||
}
|
||||
|
||||
const char* swapPath = path.Path();
|
||||
|
||||
// Swap size limits prevent oversized swap files
|
||||
if (swapAutomatic) {
|
||||
off_t existingSwapSize = 0;
|
||||
struct stat existingSwapStat;
|
||||
if (stat(swapPath, &existingSwapStat) == 0)
|
||||
existingSwapSize = existingSwapStat.st_size;
|
||||
|
||||
off_t freeSpace = info.free_blocks * info.block_size + existingSwapSize;
|
||||
|
||||
// Adjust automatic swap to a maximum of 25% of the free space
|
||||
if (swapSize > (freeSpace / 4))
|
||||
swapSize = (freeSpace / 4);
|
||||
}
|
||||
|
||||
// Create swap file
|
||||
int fd = open(swapPath, O_RDWR | O_CREAT | O_NOCACHE, S_IRUSR | S_IWUSR);
|
||||
if (fd < 0) {
|
||||
dprintf("Can't open/create /var/swap: %s\n", strerror(errno));
|
||||
dprintf("%s: Can't open/create %s: %s\n", __func__,
|
||||
swapPath, strerror(errno));
|
||||
return;
|
||||
}
|
||||
|
||||
struct stat stat;
|
||||
stat.st_size = size;
|
||||
stat.st_size = swapSize;
|
||||
status_t error = _kern_write_stat(fd, NULL, false, &stat,
|
||||
sizeof(struct stat), B_STAT_SIZE | B_STAT_SIZE_INSECURE);
|
||||
if (error != B_OK) {
|
||||
dprintf("Failed to resize /var/swap to %lld bytes: %s\n", size,
|
||||
strerror(error));
|
||||
dprintf("%s: Failed to resize %s to %lld bytes: %s\n", __func__,
|
||||
swapPath, swapSize, strerror(error));
|
||||
}
|
||||
|
||||
close(fd);
|
||||
|
||||
error = swap_file_add("/var/swap");
|
||||
if (error != B_OK)
|
||||
dprintf("Failed to add swap file /var/swap: %s\n", strerror(error));
|
||||
error = swap_file_add(swapPath);
|
||||
if (error != B_OK) {
|
||||
dprintf("%s: Failed to add swap file %s: %s\n", __func__, swapPath,
|
||||
strerror(error));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1419,16 +1639,19 @@ swap_total_swap_pages()
|
||||
|
||||
uint32 totalSwapSlots = 0;
|
||||
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
||||
swap_file* swapFile = it.Next();)
|
||||
swap_file* swapFile = it.Next();) {
|
||||
totalSwapSlots += swapFile->last_slot - swapFile->first_slot;
|
||||
}
|
||||
|
||||
mutex_unlock(&sSwapFileListLock);
|
||||
|
||||
return totalSwapSlots;
|
||||
}
|
||||
|
||||
|
||||
#endif // ENABLE_SWAP_SUPPORT
|
||||
|
||||
|
||||
void
|
||||
swap_get_info(struct system_memory_info* info)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Copyright 2008-2012, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -400,6 +400,45 @@ test_abort_sub_transaction()
|
||||
|
||||
cache_end_transaction(gCache, id, NULL, NULL);
|
||||
cache_sync_transaction(gCache, id);
|
||||
|
||||
start_test("Abort sub with empty block");
|
||||
id = cache_start_transaction(gCache);
|
||||
|
||||
gBlocks[1].present = true;
|
||||
gBlocks[1].read = true;
|
||||
|
||||
block = block_cache_get_writable(gCache, 1, id);
|
||||
or_block(block, BLOCK_CHANGED_IN_PREVIOUS);
|
||||
gBlocks[1].original = gBlocks[1].current;
|
||||
gBlocks[1].current |= BLOCK_CHANGED_IN_PREVIOUS;
|
||||
|
||||
block_cache_put(gCache, 1);
|
||||
|
||||
gBlocks[1].is_dirty = true;
|
||||
TEST_BLOCKS(1, 1);
|
||||
|
||||
cache_start_sub_transaction(gCache, id);
|
||||
|
||||
gBlocks[0].present = true;
|
||||
|
||||
block = block_cache_get_empty(gCache, 0, id);
|
||||
or_block(block, BLOCK_CHANGED_IN_SUB);
|
||||
gBlocks[0].current = BLOCK_CHANGED_IN_SUB;
|
||||
|
||||
block_cache_put(gCache, 0);
|
||||
|
||||
cache_abort_sub_transaction(gCache, id);
|
||||
|
||||
gBlocks[0].write = false;
|
||||
gBlocks[0].is_dirty = false;
|
||||
gBlocks[0].parent = 0;
|
||||
gBlocks[0].original = 0;
|
||||
TEST_BLOCKS(0, 1);
|
||||
|
||||
gBlocks[1].write = true;
|
||||
gBlocks[1].is_dirty = false;
|
||||
cache_end_transaction(gCache, id, NULL, NULL);
|
||||
cache_sync_transaction(gCache, id);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user