Merge branch 'master' into sam460ex
This commit is contained in:
commit
54b6d06e8e
@ -66,8 +66,8 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
|
|||||||
# ICU
|
# ICU
|
||||||
|
|
||||||
# Note ICU isn't actually optional, but is still an external package
|
# 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_2_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.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 ;
|
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||||
|
|
||||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
||||||
@ -224,19 +224,19 @@ if $(TARGET_ARCH) = x86 {
|
|||||||
local ffmpegBaseURL = $(baseURL)/lib ;
|
local ffmpegBaseURL = $(baseURL)/lib ;
|
||||||
if $(TARGET_ARCH) = x86 {
|
if $(TARGET_ARCH) = x86 {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc4-2012-03-28.zip ;
|
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
|
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc4-2012-03-12.zip ;
|
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc4-2012-03-12.zip ;
|
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc4-2012-03-12.zip ;
|
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc4-2012-03-14.zip ;
|
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
} else {
|
} else {
|
||||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc2-2012-03-28.zip ;
|
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||||
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc2-2012-03-11.zip ;
|
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc2-2012-03-11.zip ;
|
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc2-2012-03-11.zip ;
|
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc2-2012-03-11.zip ;
|
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc2-2012-03-14.zip ;
|
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
||||||
@ -346,9 +346,9 @@ if $(TARGET_ARCH) = x86 {
|
|||||||
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
||||||
if $(TARGET_ARCH) = x86 {
|
if $(TARGET_ARCH) = x86 {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
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 {
|
} 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)
|
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
|
||||||
@ -380,7 +380,7 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
|||||||
if $(TARGET_ARCH) = ppc {
|
if $(TARGET_ARCH) = ppc {
|
||||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} 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 {
|
} else {
|
||||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
|
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_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) ;
|
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||||
|
|
||||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||||
|
@ -83,13 +83,13 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] {
|
|||||||
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
|
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,13 +101,13 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] {
|
|||||||
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
|
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,13 +119,13 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] {
|
|||||||
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
|
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -137,13 +137,13 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] {
|
|||||||
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
|
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -155,13 +155,13 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] {
|
|||||||
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
|
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -173,13 +173,13 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] {
|
|||||||
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
|
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.1-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.1-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -191,13 +191,13 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] {
|
|||||||
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
|
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip
|
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip
|
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -227,78 +227,78 @@ if [ IsOptionalHaikuImagePackageAdded SDLLibs ] {
|
|||||||
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
|
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
sge-030809-x86-gcc4-2012-05-31.zip
|
sge-030809-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: $(baseURL)/lib/sge-030809-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
smpeg-0.4.5-x86-gcc4-2011-05-31.zip
|
smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: $(baseURL)/lib/smpeg-0.4.5-x86-gcc4-2012-05-31.zip ;
|
: $(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
sdl-image-1.2.12-x86-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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-25.zip ;
|
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.3-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip
|
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 ;
|
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
sge-030809-x86-gcc2-2012-06-24.zip
|
sge-030809-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
: $(baseURL)/lib/sge-030809-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.zip ;
|
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2012-06-24.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)" ;
|
Echo "No optional package XiphLibs available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.2.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
speex-1.2rc1-x86-gcc4-2012-03-12.zip
|
speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip
|
||||||
: $(baseURL)/lib/speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
|
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-26.zip ;
|
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.2.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.2-git-r1a3-x86-gcc2-2011-05-26.zip ;
|
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc2-2011-05-19.zip ;
|
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -384,12 +384,12 @@ if [ IsOptionalHaikuImagePackageAdded Caya ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
caya-264-x86-gcc4-2012-05-20.zip
|
caya-264-r1a4-x86-gcc4-2012-08-31.zip
|
||||||
: $(baseURL)/caya-264-x86-gcc4-2012-05-20.zip
|
: $(baseURL)/caya-264-r1a4-x86-gcc4-2012-08-31.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-05-20.zip
|
: $(baseURL)/caya-gpl-protocols-35-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
AddSymlinkToHaikuImage home config be Applications
|
AddSymlinkToHaikuImage home config be Applications
|
||||||
: /boot/apps/Caya/Caya ;
|
: /boot/apps/Caya/Caya ;
|
||||||
@ -507,12 +507,12 @@ if [ IsOptionalHaikuImagePackageAdded Colors! ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
Colors!-2.0-x86-gcc4-2012-04-30.zip
|
Colors!-2.1-r1a4-x86-gcc4-2012-08-30.zip
|
||||||
: $(baseURL)/Colors\!-2.0-x86-gcc4-2012-04-30.zip ;
|
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
Colors!-2.0-x86-gcc2-2012-04-30.zip
|
Colors!-2.1-r1a4-x86-gcc2-2012-08-30.zip
|
||||||
: $(baseURL)/Colors\!-2.0-x86-gcc2-2012-04-30.zip ;
|
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||||
}
|
}
|
||||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||||
: /boot/apps/Colors\!/Colors\! ;
|
: /boot/apps/Colors\!/Colors\! ;
|
||||||
@ -527,13 +527,13 @@ if [ IsOptionalHaikuImagePackageAdded Ctags ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
ctags-5.8-x86-gcc4-2012-01-23.zip
|
ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
|
||||||
: $(baseURL)/ctags-5.8-x86-gcc4-2012-01-23.zip
|
: $(baseURL)/ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
ctags-5.8-x86-gcc2-2010-05-24.zip
|
ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
|
||||||
: $(baseURL)/ctags-5.8-x86-gcc2-2010-05-24.zip
|
: $(baseURL)/ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -881,12 +881,12 @@ if [ IsOptionalHaikuImagePackageAdded DMIDecode ] {
|
|||||||
Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
|
Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
dmidecode-2.11-x86-gcc4-2011-11-02.zip
|
dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip
|
||||||
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc4-2011-11-02.zip ;
|
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
dmidecode-2.11-x86-gcc2-2011-11-02.zip
|
dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip
|
||||||
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc2-2011-11-02.zip ;
|
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -903,8 +903,8 @@ if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
|
|||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc2-2010-05-17.zip
|
: $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1014,8 +1014,8 @@ if [ IsOptionalHaikuImagePackageAdded GitDoc ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-06-20.zip
|
: $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
@ -1174,12 +1174,12 @@ if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
|
|||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
|
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 ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
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 ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1209,11 +1209,11 @@ if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
|
|||||||
if $(TARGET_ARCH) != x86 {
|
if $(TARGET_ARCH) != x86 {
|
||||||
Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
|
Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage 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-gcc4-2012-08-30.zip ;
|
: $(baseURL)/liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-gcc2-2012-08-28.zip
|
InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
|
||||||
: $(baseURL)/liblayout-1.4.1-r1a4-gcc2-2012-08-28.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)" ;
|
Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/lib/libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip
|
||||||
@ -1292,13 +1292,13 @@ if [ IsOptionalHaikuImagePackageAdded Lua ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2010-10-30.zip
|
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-08-29.zip
|
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1506,8 +1506,8 @@ if [ IsOptionalHaikuImagePackageAdded P7zip ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-06-19.zip ;
|
: $(baseURL)/p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip
|
p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
@ -1529,8 +1529,8 @@ if [ IsOptionalHaikuImagePackageAdded Paladin ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip
|
paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip
|
||||||
: $(baseURL)/paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
|
paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
|
||||||
@ -1552,8 +1552,8 @@ if [ IsOptionalHaikuImagePackageAdded PCRE ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip
|
libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: $(baseURL)/libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip
|
libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip
|
||||||
@ -1571,7 +1571,7 @@ if [ IsOptionalHaikuImagePackageAdded Pe ] {
|
|||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
pe-2.4.3-600-x86-gcc4-2011-12-18.zip
|
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 {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
pe-2.4.3-hg-r1a4-x86-gcc2-2012-08-29.zip
|
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" ;
|
Echo "No optional package Puri for gcc2" ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-08-16.zip ;
|
: $(baseURL)/puri-0.3.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||||
: /boot/apps/Puri/Puri ;
|
: /boot/apps/Puri/Puri ;
|
||||||
}
|
}
|
||||||
@ -1628,8 +1628,8 @@ if [ IsOptionalHaikuImagePackageAdded Python ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.7-x86-gcc4-2011-06-24.zip
|
: $(baseURL)/python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
@ -1648,8 +1648,8 @@ if [ IsOptionalHaikuImagePackageAdded Rsync ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-24.zip
|
: $(baseURL)/rsync-3.0.7-r1a4-x86-gcc4-2012-08-31.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
@ -1667,8 +1667,8 @@ if [ IsOptionalHaikuImagePackageAdded Ruby ] {
|
|||||||
Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
|
Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/ruby-1.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
ruby-1.9.1-r1a4-x86-gcc2-2012-08-29.zip
|
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)" ;
|
Echo "No optional package Sed available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1a3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
sed-4.2.1-r1a4-x86-gcc2-2012-08-27.zip
|
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)" ;
|
Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
|
||||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-r1r3-x86-gcc4-2011-05-24.zip ;
|
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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.7.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1754,8 +1754,8 @@ if [ IsOptionalHaikuImagePackageAdded Tar ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
tar-1.26-x86-gcc4-2012-06-19.zip
|
tar-1.26-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: $(baseURL)/tar-1.26-x86-gcc4-2012-06-19.zip ;
|
: $(baseURL)/tar-1.26-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
tar-1.26-r1a4-x86-gcc2-2012-08-29.zip
|
tar-1.26-r1a4-x86-gcc2-2012-08-29.zip
|
||||||
@ -1788,8 +1788,8 @@ if [ IsOptionalHaikuImagePackageAdded Transmission ] {
|
|||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
|
transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: $(baseURL)/transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
|
: $(baseURL)/transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
|
||||||
: : true ;
|
: : true ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
@ -1882,8 +1882,8 @@ if [ IsOptionalHaikuImagePackageAdded Vision ] {
|
|||||||
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
|
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
|
||||||
} else {
|
} else {
|
||||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||||
InstallOptionalHaikuImagePackage vision-908-x86-gcc4-2012-02-26.zip
|
InstallOptionalHaikuImagePackage vision-908-r1a4-x86-gcc4-2012-09-04.zip
|
||||||
: $(baseURL)/vision-908-x86-gcc4-2012-02-26.zip ;
|
: $(baseURL)/vision-908-r1a4-x86-gcc4-2012-09-04.zip ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
vision-908-r1a4-x86-gcc2-2012-08-29.zip
|
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)" ;
|
Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
|
||||||
} else {
|
} else {
|
||||||
InstallOptionalHaikuImagePackage
|
InstallOptionalHaikuImagePackage
|
||||||
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-x86-gcc4-2012-07-18.zip ;
|
: $(baseURL)/xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||||
AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
|
AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
|
||||||
: "tar -Jtvf \\0045s"
|
: "tar -Jtvf \\0045s"
|
||||||
: "tar -Jxvf \\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,
|
# Some Packages cannot be installed,
|
||||||
# as they require either the source code or compiled binaries
|
# as they require either the source code or compiled binaries
|
||||||
declare packageIgnoreList="Bluetooth Development DevelopmentMin \
|
declare packageIgnoreList="Bluetooth Development DevelopmentMin \
|
||||||
DevelopmentBase MandatoryPackages UserlandFS Welcome WifiFirmwareScriptData \
|
DevelopmentBase ICU-devel ICU MandatoryPackages UserlandFS \
|
||||||
ICU-devel ICU "
|
WebPositive Welcome WifiFirmwareScriptData "
|
||||||
|
|
||||||
|
|
||||||
function CreateInstallerScript()
|
function CreateInstallerScript()
|
||||||
|
@ -142,7 +142,7 @@ class BNavMenu : public BSlowMenu {
|
|||||||
EntryListBase *fContainer;
|
EntryListBase *fContainer;
|
||||||
bool fIteratingDesktop;
|
bool fIteratingDesktop;
|
||||||
|
|
||||||
const BObjectList<BString> *fTypesList;
|
BObjectList<BString> *fTypesList;
|
||||||
|
|
||||||
TrackingHookData fTrackingHook;
|
TrackingHookData fTrackingHook;
|
||||||
};
|
};
|
||||||
|
@ -325,10 +325,15 @@ Playlist::RemoveItem(int32 index, bool careAboutCurrentIndex)
|
|||||||
_NotifyItemRemoved(index);
|
_NotifyItemRemoved(index);
|
||||||
|
|
||||||
if (careAboutCurrentIndex) {
|
if (careAboutCurrentIndex) {
|
||||||
if (index >= CountItems())
|
// fCurrentIndex isn't in sync yet, so might be one too large (if the
|
||||||
SetCurrentItemIndex(CountItems() - 1);
|
// removed item was above the currently playing item).
|
||||||
else if (index <= fCurrentIndex)
|
if (index < fCurrentIndex)
|
||||||
SetCurrentItemIndex(index - 1);
|
SetCurrentItemIndex(fCurrentIndex - 1, false);
|
||||||
|
else if (index == fCurrentIndex) {
|
||||||
|
if (fCurrentIndex == CountItems())
|
||||||
|
fCurrentIndex--;
|
||||||
|
SetCurrentItemIndex(fCurrentIndex, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
|
@ -18,15 +18,17 @@ resource(4, "META:EXTENS") message(234) {
|
|||||||
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
|
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
|
||||||
|
|
||||||
resource(6, "META:ICON") #'VICN' array {
|
resource(6, "META:ICON") #'VICN' array {
|
||||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
|
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
|
||||||
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
|
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
|
||||||
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||||
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||||
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
||||||
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
||||||
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
|
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
|
||||||
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
|
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
|
||||||
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
|
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
|
||||||
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
|
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
|
||||||
$"0A18001501178200040A04030907051815FF0117810004"
|
$"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(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
|
||||||
|
|
||||||
resource(6, "META:ICON") #'VICN' array {
|
resource(6, "META:ICON") #'VICN' array {
|
||||||
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
|
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
|
||||||
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
|
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
|
||||||
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
|
||||||
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
|
||||||
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
|
||||||
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
|
||||||
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
|
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
|
||||||
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
|
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
|
||||||
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
|
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
|
||||||
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
|
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
|
||||||
$"0A18001501178200040A04030907051815FF0117810004"
|
$"38201B16FF01178100040A000108382B1116FF01178100040A00010938231916"
|
||||||
|
$"FF01178100040A00010838251E16FF01178100040A00010938283116FF011781"
|
||||||
|
$"0004"
|
||||||
};
|
};
|
||||||
|
@ -75,6 +75,16 @@ BNotification::BNotification(BMessage* archive)
|
|||||||
if (archive->FindRef("_onClickFile", &onClickFile) == B_OK)
|
if (archive->FindRef("_onClickFile", &onClickFile) == B_OK)
|
||||||
SetOnClickFile(&onClickFile);
|
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;
|
status_t ret = B_OK;
|
||||||
BMessage icon;
|
BMessage icon;
|
||||||
if ((ret = archive->FindMessage("_icon", &icon)) == B_OK) {
|
if ((ret = archive->FindMessage("_icon", &icon)) == B_OK) {
|
||||||
|
@ -1106,15 +1106,15 @@ Model::SupportsMimeType(const char* type, const BObjectList<BString>* list,
|
|||||||
|
|
||||||
int32 match;
|
int32 match;
|
||||||
|
|
||||||
if (type) {
|
if (type || (list != NULL && list->IsEmpty())) {
|
||||||
BString typeString(type);
|
BString typeString(type);
|
||||||
match = MatchMimeTypeString(&typeString, mimeSignature);
|
match = MatchMimeTypeString(&typeString, mimeSignature);
|
||||||
} else
|
} else {
|
||||||
match = WhileEachListItem(const_cast<BObjectList<BString>*>(list),
|
match = WhileEachListItem(const_cast<BObjectList<BString>*>(list),
|
||||||
MatchMimeTypeString, mimeSignature);
|
MatchMimeTypeString, mimeSignature);
|
||||||
// const_cast shouldnt be here, have to have it until
|
// const_cast shouldnt be here, have to have it until
|
||||||
// MW cleans up
|
// MW cleans up
|
||||||
|
}
|
||||||
if (match == kMatch)
|
if (match == kMatch)
|
||||||
// supports the actual type, it can't get any better
|
// supports the actual type, it can't get any better
|
||||||
return kModelSupportsType;
|
return kModelSupportsType;
|
||||||
|
@ -130,7 +130,7 @@ void
|
|||||||
SpringLoadedFolderSetMenuStates(const BMenu* menu,
|
SpringLoadedFolderSetMenuStates(const BMenu* menu,
|
||||||
const BObjectList<BString>* typeslist)
|
const BObjectList<BString>* typeslist)
|
||||||
{
|
{
|
||||||
if (!menu || !typeslist)
|
if (!menu || !typeslist || typeslist->IsEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// if a types list exists
|
// if a types list exists
|
||||||
@ -263,8 +263,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message, const BHandler* target,
|
|||||||
fFlags(0),
|
fFlags(0),
|
||||||
fItemList(0),
|
fItemList(0),
|
||||||
fContainer(0),
|
fContainer(0),
|
||||||
fTypesList(list)
|
fTypesList(new BObjectList<BString>(10, true))
|
||||||
{
|
{
|
||||||
|
if (list != NULL)
|
||||||
|
*fTypesList = *list;
|
||||||
InitIconPreloader();
|
InitIconPreloader();
|
||||||
|
|
||||||
SetFont(be_plain_font);
|
SetFont(be_plain_font);
|
||||||
@ -292,8 +294,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
|
|||||||
fFlags(0),
|
fFlags(0),
|
||||||
fItemList(0),
|
fItemList(0),
|
||||||
fContainer(0),
|
fContainer(0),
|
||||||
fTypesList(list)
|
fTypesList(new BObjectList<BString>(10, true))
|
||||||
{
|
{
|
||||||
|
if (list != NULL)
|
||||||
|
*fTypesList = *list;
|
||||||
InitIconPreloader();
|
InitIconPreloader();
|
||||||
|
|
||||||
SetFont(be_plain_font);
|
SetFont(be_plain_font);
|
||||||
@ -313,6 +317,7 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
|
|||||||
|
|
||||||
BNavMenu::~BNavMenu()
|
BNavMenu::~BNavMenu()
|
||||||
{
|
{
|
||||||
|
delete fTypesList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -334,13 +339,6 @@ BNavMenu::AttachedToWindow()
|
|||||||
void
|
void
|
||||||
BNavMenu::DetachedFromWindow()
|
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
|
void
|
||||||
BNavMenu::SetTypesList(const BObjectList<BString>* list)
|
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) {
|
sp->cinfo.d.image_height < segment_height) {
|
||||||
TIFFWarningExt(tif->tif_clientdata, module,
|
TIFFWarningExt(tif->tif_clientdata, module,
|
||||||
"Improper JPEG strip/tile size, "
|
"Improper JPEG strip/tile size, "
|
||||||
"expected %dx%d, got %dx%d",
|
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
|
||||||
segment_width, segment_height,
|
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
|
||||||
sp->cinfo.d.image_width,
|
|
||||||
sp->cinfo.d.image_height);
|
sp->cinfo.d.image_height);
|
||||||
}
|
}
|
||||||
if (sp->cinfo.d.image_width > segment_width ||
|
if (sp->cinfo.d.image_width > segment_width ||
|
||||||
@ -742,9 +741,9 @@ JPEGPreDecode(TIFF* tif, tsample_t s)
|
|||||||
*/
|
*/
|
||||||
TIFFErrorExt(tif->tif_clientdata, module,
|
TIFFErrorExt(tif->tif_clientdata, module,
|
||||||
"JPEG strip/tile size exceeds expected dimensions,"
|
"JPEG strip/tile size exceeds expected dimensions,"
|
||||||
" expected %dx%d, got %dx%d",
|
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
|
||||||
segment_width, segment_height,
|
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
|
||||||
sp->cinfo.d.image_width, sp->cinfo.d.image_height);
|
sp->cinfo.d.image_height);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (sp->cinfo.d.num_components !=
|
if (sp->cinfo.d.num_components !=
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include "AntialiasingSettingsView.h"
|
#include "AntialiasingSettingsView.h"
|
||||||
#include "APRView.h"
|
#include "APRView.h"
|
||||||
#include "DecorSettingsView.h"
|
#include "LookAndFeelSettingsView.h"
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
#include "FontView.h"
|
#include "FontView.h"
|
||||||
|
|
||||||
@ -54,15 +54,15 @@ APRWindow::APRWindow(BRect frame)
|
|||||||
|
|
||||||
fColorsView = new APRView(B_TRANSLATE("Colors"));
|
fColorsView = new APRView(B_TRANSLATE("Colors"));
|
||||||
|
|
||||||
fDecorSettings = new DecorSettingsView(
|
fLookAndFeelSettings = new LookAndFeelSettingsView(
|
||||||
B_TRANSLATE("Decorators"));
|
B_TRANSLATE("Look and feel"));
|
||||||
|
|
||||||
fAntialiasingSettings = new AntialiasingSettingsView(
|
fAntialiasingSettings = new AntialiasingSettingsView(
|
||||||
B_TRANSLATE("Antialiasing"));
|
B_TRANSLATE("Antialiasing"));
|
||||||
|
|
||||||
tabView->AddTab(fFontSettings);
|
tabView->AddTab(fFontSettings);
|
||||||
tabView->AddTab(fColorsView);
|
tabView->AddTab(fColorsView);
|
||||||
tabView->AddTab(fDecorSettings);
|
tabView->AddTab(fLookAndFeelSettings);
|
||||||
tabView->AddTab(fAntialiasingSettings);
|
tabView->AddTab(fAntialiasingSettings);
|
||||||
|
|
||||||
_UpdateButtons();
|
_UpdateButtons();
|
||||||
@ -92,7 +92,7 @@ APRWindow::MessageReceived(BMessage *message)
|
|||||||
fFontSettings->SetDefaults();
|
fFontSettings->SetDefaults();
|
||||||
fColorsView->SetDefaults();
|
fColorsView->SetDefaults();
|
||||||
fAntialiasingSettings->SetDefaults();
|
fAntialiasingSettings->SetDefaults();
|
||||||
fDecorSettings->SetDefaults();
|
fLookAndFeelSettings->SetDefaults();
|
||||||
|
|
||||||
_UpdateButtons();
|
_UpdateButtons();
|
||||||
break;
|
break;
|
||||||
@ -101,7 +101,7 @@ APRWindow::MessageReceived(BMessage *message)
|
|||||||
fColorsView->Revert();
|
fColorsView->Revert();
|
||||||
fAntialiasingSettings->Revert();
|
fAntialiasingSettings->Revert();
|
||||||
fFontSettings->Revert();
|
fFontSettings->Revert();
|
||||||
fDecorSettings->Revert();
|
fLookAndFeelSettings->Revert();
|
||||||
|
|
||||||
_UpdateButtons();
|
_UpdateButtons();
|
||||||
break;
|
break;
|
||||||
@ -127,11 +127,11 @@ APRWindow::_IsDefaultable() const
|
|||||||
// printf("fonts defaultable: %d\n", fFontSettings->IsDefaultable());
|
// printf("fonts defaultable: %d\n", fFontSettings->IsDefaultable());
|
||||||
// printf("colors defaultable: %d\n", fColorsView->IsDefaultable());
|
// printf("colors defaultable: %d\n", fColorsView->IsDefaultable());
|
||||||
// printf("AA defaultable: %d\n", fAntialiasingSettings->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()
|
return fColorsView->IsDefaultable()
|
||||||
|| fFontSettings->IsDefaultable()
|
|| fFontSettings->IsDefaultable()
|
||||||
|| fAntialiasingSettings->IsDefaultable()
|
|| fAntialiasingSettings->IsDefaultable()
|
||||||
|| fDecorSettings->IsDefaultable();
|
|| fLookAndFeelSettings->IsDefaultable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -141,9 +141,9 @@ APRWindow::_IsRevertable() const
|
|||||||
// printf("fonts revertable: %d\n", fFontSettings->IsRevertable());
|
// printf("fonts revertable: %d\n", fFontSettings->IsRevertable());
|
||||||
// printf("colors revertable: %d\n", fColorsView->IsRevertable());
|
// printf("colors revertable: %d\n", fColorsView->IsRevertable());
|
||||||
// printf("AA revertable: %d\n", fAntialiasingSettings->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()
|
return fColorsView->IsRevertable()
|
||||||
|| fFontSettings->IsRevertable()
|
|| fFontSettings->IsRevertable()
|
||||||
|| fAntialiasingSettings->IsRevertable()
|
|| fAntialiasingSettings->IsRevertable()
|
||||||
|| fDecorSettings->IsRevertable();
|
|| fLookAndFeelSettings->IsRevertable();
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
class APRView;
|
class APRView;
|
||||||
class AntialiasingSettingsView;
|
class AntialiasingSettingsView;
|
||||||
class FontView;
|
class FontView;
|
||||||
class DecorSettingsView;
|
class LookAndFeelSettingsView;
|
||||||
|
|
||||||
|
|
||||||
class APRWindow : public BWindow {
|
class APRWindow : public BWindow {
|
||||||
@ -39,7 +39,7 @@ private:
|
|||||||
|
|
||||||
AntialiasingSettingsView* fAntialiasingSettings;
|
AntialiasingSettingsView* fAntialiasingSettings;
|
||||||
FontView* fFontSettings;
|
FontView* fFontSettings;
|
||||||
DecorSettingsView* fDecorSettings;
|
LookAndFeelSettingsView* fLookAndFeelSettings;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ Includes [ FGristFiles AntialiasingSettingsView.cpp ]
|
|||||||
Preference Appearance :
|
Preference Appearance :
|
||||||
APRMain.cpp
|
APRMain.cpp
|
||||||
AntialiasingSettingsView.cpp
|
AntialiasingSettingsView.cpp
|
||||||
DecorSettingsView.cpp
|
LookAndFeelSettingsView.cpp
|
||||||
FontSelectionView.cpp
|
FontSelectionView.cpp
|
||||||
FontView.cpp
|
FontView.cpp
|
||||||
APRView.cpp
|
APRView.cpp
|
||||||
@ -40,7 +40,7 @@ DoCatalogs Appearance :
|
|||||||
ColorSet.cpp
|
ColorSet.cpp
|
||||||
ColorWell.cpp
|
ColorWell.cpp
|
||||||
ColorWhichItem.cpp
|
ColorWhichItem.cpp
|
||||||
DecorSettingsView.cpp
|
LookAndFeelSettingsView.cpp
|
||||||
FontView.cpp
|
FontView.cpp
|
||||||
FontSelectionView.cpp
|
FontSelectionView.cpp
|
||||||
;
|
;
|
||||||
|
@ -5,10 +5,11 @@
|
|||||||
* Authors:
|
* Authors:
|
||||||
* Alexander von Gluck, kallisti5@unixzen.com
|
* Alexander von Gluck, kallisti5@unixzen.com
|
||||||
* Stephan Aßmus <superstippi@gmx.de>
|
* Stephan Aßmus <superstippi@gmx.de>
|
||||||
|
* Ryan Leavengood <leavengood@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "DecorSettingsView.h"
|
#include "LookAndFeelSettingsView.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -17,8 +18,10 @@
|
|||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
|
#include <CheckBox.h>
|
||||||
#include <GridLayoutBuilder.h>
|
#include <GridLayoutBuilder.h>
|
||||||
#include <GroupLayoutBuilder.h>
|
#include <GroupLayoutBuilder.h>
|
||||||
|
#include <InterfaceDefs.h>
|
||||||
#include <Locale.h>
|
#include <Locale.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
@ -32,18 +35,26 @@
|
|||||||
|
|
||||||
#undef B_TRANSLATION_CONTEXT
|
#undef B_TRANSLATION_CONTEXT
|
||||||
#define B_TRANSLATION_CONTEXT "DecorSettingsView"
|
#define B_TRANSLATION_CONTEXT "DecorSettingsView"
|
||||||
|
// This was not renamed to keep from breaking translations
|
||||||
|
|
||||||
|
|
||||||
static const int32 kMsgSetDecor = 'deco';
|
static const int32 kMsgSetDecor = 'deco';
|
||||||
static const int32 kMsgDecorInfo = 'idec';
|
static const int32 kMsgDecorInfo = 'idec';
|
||||||
|
static const int32 kMsgDoubleScrollbarArrows = 'dsba';
|
||||||
|
|
||||||
|
static const bool kDefaultDoubleScrollbarArrowsSetting = false;
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #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
|
// Decorator menu
|
||||||
_BuildDecorMenu();
|
_BuildDecorMenu();
|
||||||
@ -53,6 +64,13 @@ DecorSettingsView::DecorSettingsView(const char* name)
|
|||||||
fDecorInfoButton = new BButton(B_TRANSLATE("About"),
|
fDecorInfoButton = new BButton(B_TRANSLATE("About"),
|
||||||
new BMessage(kMsgDecorInfo));
|
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));
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
// control layout
|
// control layout
|
||||||
@ -61,20 +79,21 @@ DecorSettingsView::DecorSettingsView(const char* name)
|
|||||||
.Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0)
|
.Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0)
|
||||||
.Add(fDecorInfoButton, 2, 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)
|
.SetInsets(10, 10, 10, 10)
|
||||||
);
|
);
|
||||||
// TODO : Decorator Preview Image?
|
// TODO : Decorator Preview Image?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DecorSettingsView::~DecorSettingsView()
|
LookAndFeelSettingsView::~LookAndFeelSettingsView()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::AttachedToWindow()
|
LookAndFeelSettingsView::AttachedToWindow()
|
||||||
{
|
{
|
||||||
if (Parent() != NULL)
|
if (Parent() != NULL)
|
||||||
SetViewColor(Parent()->ViewColor());
|
SetViewColor(Parent()->ViewColor());
|
||||||
@ -83,11 +102,12 @@ DecorSettingsView::AttachedToWindow()
|
|||||||
|
|
||||||
fDecorMenu->SetTargetForItems(this);
|
fDecorMenu->SetTargetForItems(this);
|
||||||
fDecorInfoButton->SetTarget(this);
|
fDecorInfoButton->SetTarget(this);
|
||||||
|
fDoubleScrollbarArrowsCheckBox->SetTarget(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::MessageReceived(BMessage *msg)
|
LookAndFeelSettingsView::MessageReceived(BMessage *msg)
|
||||||
{
|
{
|
||||||
switch (msg->what) {
|
switch (msg->what) {
|
||||||
case kMsgSetDecor:
|
case kMsgSetDecor:
|
||||||
@ -125,6 +145,9 @@ DecorSettingsView::MessageReceived(BMessage *msg)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case kMsgDoubleScrollbarArrows:
|
||||||
|
_SetDoubleScrollbarArrowsSetting(fDoubleScrollbarArrowsCheckBox->Value());
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BView::MessageReceived(msg);
|
BView::MessageReceived(msg);
|
||||||
@ -134,7 +157,7 @@ DecorSettingsView::MessageReceived(BMessage *msg)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::_BuildDecorMenu()
|
LookAndFeelSettingsView::_BuildDecorMenu()
|
||||||
{
|
{
|
||||||
fDecorMenu = new BPopUpMenu(B_TRANSLATE("Choose Decorator"));
|
fDecorMenu = new BPopUpMenu(B_TRANSLATE("Choose Decorator"));
|
||||||
|
|
||||||
@ -163,14 +186,14 @@ DecorSettingsView::_BuildDecorMenu()
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::_SetDecor(const BString& name)
|
LookAndFeelSettingsView::_SetDecor(const BString& name)
|
||||||
{
|
{
|
||||||
_SetDecor(fDecorUtility.FindDecorator(name));
|
_SetDecor(fDecorUtility.FindDecorator(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
|
LookAndFeelSettingsView::_SetDecor(DecorInfo* decorInfo)
|
||||||
{
|
{
|
||||||
if (fDecorUtility.SetDecorator(decorInfo) == B_OK) {
|
if (fDecorUtility.SetDecorator(decorInfo) == B_OK) {
|
||||||
_AdoptToCurrentDecor();
|
_AdoptToCurrentDecor();
|
||||||
@ -180,7 +203,7 @@ DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::_AdoptToCurrentDecor()
|
LookAndFeelSettingsView::_AdoptToCurrentDecor()
|
||||||
{
|
{
|
||||||
fCurrentDecor = fDecorUtility.CurrentDecorator()->Name();
|
fCurrentDecor = fDecorUtility.CurrentDecorator()->Name();
|
||||||
if (fSavedDecor.Length() == 0)
|
if (fSavedDecor.Length() == 0)
|
||||||
@ -189,7 +212,7 @@ DecorSettingsView::_AdoptToCurrentDecor()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::_AdoptInterfaceToCurrentDecor()
|
LookAndFeelSettingsView::_AdoptInterfaceToCurrentDecor()
|
||||||
{
|
{
|
||||||
BMenuItem* item = fDecorMenu->FindItem(fCurrentDecor);
|
BMenuItem* item = fDecorMenu->FindItem(fCurrentDecor);
|
||||||
if (item != NULL)
|
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
|
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());
|
_SetDecor(fDecorUtility.DefaultDecorator());
|
||||||
|
_SetDoubleScrollbarArrowsSetting(kDefaultDoubleScrollbarArrowsSetting);
|
||||||
|
fDoubleScrollbarArrowsCheckBox->SetValue(
|
||||||
|
kDefaultDoubleScrollbarArrowsSetting);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
DecorSettingsView::IsDefaultable()
|
LookAndFeelSettingsView::IsDefaultable()
|
||||||
{
|
{
|
||||||
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name();
|
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name() ||
|
||||||
|
fDoubleScrollbarArrowsCheckBox->Value() !=
|
||||||
|
kDefaultDoubleScrollbarArrowsSetting;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
DecorSettingsView::IsRevertable()
|
LookAndFeelSettingsView::IsRevertable()
|
||||||
{
|
{
|
||||||
return fCurrentDecor != fSavedDecor;
|
return fCurrentDecor != fSavedDecor ||
|
||||||
|
fDoubleScrollbarArrowsCheckBox->Value() != fSavedDoubleArrowsValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DecorSettingsView::Revert()
|
LookAndFeelSettingsView::Revert()
|
||||||
{
|
{
|
||||||
_SetDecor(fSavedDecor);
|
_SetDecor(fSavedDecor);
|
||||||
|
_SetDoubleScrollbarArrowsSetting(fSavedDoubleArrowsValue);
|
||||||
|
fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue);
|
||||||
}
|
}
|
@ -5,9 +5,10 @@
|
|||||||
* Authors:
|
* Authors:
|
||||||
* Alexander von Gluck, kallisti5@unixzen.com
|
* Alexander von Gluck, kallisti5@unixzen.com
|
||||||
* Stephan Aßmus <superstippi@gmx.de>
|
* Stephan Aßmus <superstippi@gmx.de>
|
||||||
|
* Ryan Leavengood <leavengood@gmail.com>
|
||||||
*/
|
*/
|
||||||
#ifndef DECOR_SETTINGS_VIEW_H
|
#ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H
|
||||||
#define DECOR_SETTINGS_VIEW_H
|
#define LOOK_AND_FEEL_SETTINGS_VIEW_H
|
||||||
|
|
||||||
|
|
||||||
#include <DecorInfo.h>
|
#include <DecorInfo.h>
|
||||||
@ -16,14 +17,15 @@
|
|||||||
|
|
||||||
|
|
||||||
class BButton;
|
class BButton;
|
||||||
|
class BCheckBox;
|
||||||
class BMenuField;
|
class BMenuField;
|
||||||
class BPopUpMenu;
|
class BPopUpMenu;
|
||||||
|
|
||||||
|
|
||||||
class DecorSettingsView : public BView {
|
class LookAndFeelSettingsView : public BView {
|
||||||
public:
|
public:
|
||||||
DecorSettingsView(const char* name);
|
LookAndFeelSettingsView(const char* name);
|
||||||
virtual ~DecorSettingsView();
|
virtual ~LookAndFeelSettingsView();
|
||||||
|
|
||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
virtual void MessageReceived(BMessage* message);
|
virtual void MessageReceived(BMessage* message);
|
||||||
@ -40,6 +42,8 @@ private:
|
|||||||
void _BuildDecorMenu();
|
void _BuildDecorMenu();
|
||||||
void _AdoptToCurrentDecor();
|
void _AdoptToCurrentDecor();
|
||||||
void _AdoptInterfaceToCurrentDecor();
|
void _AdoptInterfaceToCurrentDecor();
|
||||||
|
bool _GetDoubleScrollbarArrowsSetting();
|
||||||
|
void _SetDoubleScrollbarArrowsSetting(bool value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DecorInfoUtility fDecorUtility;
|
DecorInfoUtility fDecorUtility;
|
||||||
@ -47,9 +51,11 @@ private:
|
|||||||
BButton* fDecorInfoButton;
|
BButton* fDecorInfoButton;
|
||||||
BMenuField* fDecorMenuField;
|
BMenuField* fDecorMenuField;
|
||||||
BPopUpMenu* fDecorMenu;
|
BPopUpMenu* fDecorMenu;
|
||||||
|
BCheckBox* fDoubleScrollbarArrowsCheckBox;
|
||||||
|
|
||||||
BString fSavedDecor;
|
BString fSavedDecor;
|
||||||
BString fCurrentDecor;
|
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
|
// init scrollbar info
|
||||||
fScrollBarInfo.proportional = true;
|
fScrollBarInfo.proportional = true;
|
||||||
fScrollBarInfo.double_arrows = true;
|
fScrollBarInfo.double_arrows = false;
|
||||||
fScrollBarInfo.knob = 1;
|
fScrollBarInfo.knob = 1;
|
||||||
// look of the knob (R5: (0, 1, 2), 1 = default)
|
// look of the knob (R5: (0, 1, 2), 1 = default)
|
||||||
fScrollBarInfo.min_knob_size = 15;
|
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
|
// The parent transaction didn't change the block, but the sub
|
||||||
// transaction did - we need to revert to the original data.
|
// transaction did - we need to revert to the original data.
|
||||||
// The block is no longer part of the transaction
|
// 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,
|
memcpy(block->current_data, block->original_data,
|
||||||
cache->block_size);
|
cache->block_size);
|
||||||
|
}
|
||||||
|
|
||||||
if (last != NULL)
|
if (last != NULL)
|
||||||
last->transaction_next = next;
|
last->transaction_next = next;
|
||||||
|
@ -3,6 +3,8 @@ SubDir HAIKU_TOP src system kernel vm ;
|
|||||||
UsePrivateHeaders shared ;
|
UsePrivateHeaders shared ;
|
||||||
|
|
||||||
UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) device_manager ] ;
|
UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) device_manager ] ;
|
||||||
|
UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
|
||||||
|
UsePrivateHeaders [ FDirName kernel util ] ;
|
||||||
|
|
||||||
KernelMergeObject kernel_vm.o :
|
KernelMergeObject kernel_vm.o :
|
||||||
PageCacheLocker.cpp
|
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, Zhao Shuai, upczhsh@163.com.
|
||||||
* Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
|
* Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
|
||||||
* Copyright 2002-2009, Axel Dörfler, axeld@pinc-software.de.
|
* Copyright 2002-2009, Axel Dörfler, axeld@pinc-software.de.
|
||||||
@ -17,13 +19,20 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include <FindDirectory.h>
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
#include <NodeMonitor.h>
|
#include <NodeMonitor.h>
|
||||||
|
|
||||||
#include <arch_config.h>
|
#include <arch_config.h>
|
||||||
#include <boot_device.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 <driver_settings.h>
|
||||||
#include <fs/fd.h>
|
#include <fs/fd.h>
|
||||||
|
#include <fs/KPath.h>
|
||||||
|
#include <fs_info.h>
|
||||||
#include <fs_interface.h>
|
#include <fs_interface.h>
|
||||||
#include <heap.h>
|
#include <heap.h>
|
||||||
#include <kernel_daemon.h>
|
#include <kernel_daemon.h>
|
||||||
@ -69,6 +78,8 @@
|
|||||||
#define SWAP_BLOCK_MASK (SWAP_BLOCK_PAGES - 1)
|
#define SWAP_BLOCK_MASK (SWAP_BLOCK_PAGES - 1)
|
||||||
|
|
||||||
|
|
||||||
|
static const char* const kDefaultSwapPath = "/var/swap";
|
||||||
|
|
||||||
struct swap_file : DoublyLinkedListLinkImpl<swap_file> {
|
struct swap_file : DoublyLinkedListLinkImpl<swap_file> {
|
||||||
int fd;
|
int fd;
|
||||||
struct vnode* vnode;
|
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
|
// if this swap file has used more than 90% percent of its space
|
||||||
// switch to another
|
// switch to another
|
||||||
if (sSwapFileAlloc->bmp->free_slots
|
if (sSwapFileAlloc->bmp->free_slots
|
||||||
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10)
|
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10) {
|
||||||
sSwapFileAlloc = sSwapFileList.GetNext(sSwapFileAlloc);
|
sSwapFileAlloc = sSwapFileList.GetNext(sSwapFileAlloc);
|
||||||
|
}
|
||||||
|
|
||||||
mutex_unlock(&sSwapFileListLock);
|
mutex_unlock(&sSwapFileListLock);
|
||||||
|
|
||||||
@ -299,9 +311,10 @@ find_swap_file(swap_addr_t slotIndex)
|
|||||||
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
||||||
swap_file* swapFile = it.Next();) {
|
swap_file* swapFile = it.Next();) {
|
||||||
if (slotIndex >= swapFile->first_slot
|
if (slotIndex >= swapFile->first_slot
|
||||||
&& slotIndex < swapFile->last_slot)
|
&& slotIndex < swapFile->last_slot) {
|
||||||
return swapFile;
|
return swapFile;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
panic("find_swap_file(): can't find swap file for slot %ld\n", slotIndex);
|
panic("find_swap_file(): can't find swap file for slot %ld\n", slotIndex);
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -474,8 +487,8 @@ VMAnonymousCache::Resize(off_t newSize, int priority)
|
|||||||
swap_block* swapBlock = NULL;
|
swap_block* swapBlock = NULL;
|
||||||
|
|
||||||
for (page_num_t pageIndex = (newSize + B_PAGE_SIZE - 1) >> PAGE_SHIFT;
|
for (page_num_t pageIndex = (newSize + B_PAGE_SIZE - 1) >> PAGE_SHIFT;
|
||||||
pageIndex < oldPageCount && fAllocatedSwapSize > 0;
|
pageIndex < oldPageCount && fAllocatedSwapSize > 0; pageIndex++) {
|
||||||
pageIndex++) {
|
|
||||||
WriteLocker locker(sSwapHashLock);
|
WriteLocker locker(sSwapHashLock);
|
||||||
|
|
||||||
// Get the swap slot index for the page.
|
// 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);
|
_callback->IOFinished(B_NO_MEMORY, true, 0);
|
||||||
return B_NO_MEMORY;
|
return B_NO_MEMORY;
|
||||||
}
|
}
|
||||||
// TODO: If the page already had swap space assigned, we don't need an own
|
// TODO: If the page already had swap space assigned, we don't need an own
|
||||||
// callback.
|
// callback.
|
||||||
|
|
||||||
callback->SetTo(pageIndex, slotIndex, newSlot);
|
callback->SetTo(pageIndex, slotIndex, newSlot);
|
||||||
|
|
||||||
@ -1165,6 +1178,93 @@ VMAnonymousCache::_MergeSwapPages(VMAnonymousCache* source)
|
|||||||
// #pragma mark -
|
// #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
|
status_t
|
||||||
swap_file_add(const char* path)
|
swap_file_add(const char* path)
|
||||||
{
|
{
|
||||||
@ -1291,8 +1391,8 @@ void
|
|||||||
swap_init(void)
|
swap_init(void)
|
||||||
{
|
{
|
||||||
// create swap block cache
|
// create swap block cache
|
||||||
sSwapBlockCache = create_object_cache("swapblock",
|
sSwapBlockCache = create_object_cache("swapblock", sizeof(swap_block),
|
||||||
sizeof(swap_block), sizeof(void*), NULL, NULL, NULL);
|
sizeof(void*), NULL, NULL, NULL);
|
||||||
if (sSwapBlockCache == NULL)
|
if (sSwapBlockCache == NULL)
|
||||||
panic("swap_init(): can't create object cache for swap blocks\n");
|
panic("swap_init(): can't create object cache for swap blocks\n");
|
||||||
|
|
||||||
@ -1338,46 +1438,166 @@ swap_init_post_modules()
|
|||||||
if (gReadOnlyBootDevice)
|
if (gReadOnlyBootDevice)
|
||||||
return;
|
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");
|
void* settings = load_driver_settings("virtual_memory");
|
||||||
|
|
||||||
if (settings != NULL) {
|
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);
|
unload_driver_settings(settings);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* string = get_driver_parameter(settings, "swap_size", NULL,
|
if (swapAutomatic) {
|
||||||
NULL);
|
swapEnabled = true;
|
||||||
size = string ? atoll(string) : 0;
|
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);
|
if (!swapEnabled || swapSize < B_PAGE_SIZE)
|
||||||
} else
|
|
||||||
size = (off_t)vm_page_num_pages() * B_PAGE_SIZE * 2;
|
|
||||||
|
|
||||||
if (size < B_PAGE_SIZE)
|
|
||||||
return;
|
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) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct stat stat;
|
struct stat stat;
|
||||||
stat.st_size = size;
|
stat.st_size = swapSize;
|
||||||
status_t error = _kern_write_stat(fd, NULL, false, &stat,
|
status_t error = _kern_write_stat(fd, NULL, false, &stat,
|
||||||
sizeof(struct stat), B_STAT_SIZE | B_STAT_SIZE_INSECURE);
|
sizeof(struct stat), B_STAT_SIZE | B_STAT_SIZE_INSECURE);
|
||||||
if (error != B_OK) {
|
if (error != B_OK) {
|
||||||
dprintf("Failed to resize /var/swap to %lld bytes: %s\n", size,
|
dprintf("%s: Failed to resize %s to %lld bytes: %s\n", __func__,
|
||||||
strerror(error));
|
swapPath, swapSize, strerror(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
error = swap_file_add("/var/swap");
|
error = swap_file_add(swapPath);
|
||||||
if (error != B_OK)
|
if (error != B_OK) {
|
||||||
dprintf("Failed to add swap file /var/swap: %s\n", strerror(error));
|
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;
|
uint32 totalSwapSlots = 0;
|
||||||
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
|
||||||
swap_file* swapFile = it.Next();)
|
swap_file* swapFile = it.Next();) {
|
||||||
totalSwapSlots += swapFile->last_slot - swapFile->first_slot;
|
totalSwapSlots += swapFile->last_slot - swapFile->first_slot;
|
||||||
|
}
|
||||||
|
|
||||||
mutex_unlock(&sSwapFileListLock);
|
mutex_unlock(&sSwapFileListLock);
|
||||||
|
|
||||||
return totalSwapSlots;
|
return totalSwapSlots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif // ENABLE_SWAP_SUPPORT
|
#endif // ENABLE_SWAP_SUPPORT
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
swap_get_info(struct system_memory_info* info)
|
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.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -400,6 +400,45 @@ test_abort_sub_transaction()
|
|||||||
|
|
||||||
cache_end_transaction(gCache, id, NULL, NULL);
|
cache_end_transaction(gCache, id, NULL, NULL);
|
||||||
cache_sync_transaction(gCache, id);
|
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