zlib: added an optional build package, integrated to the build

* optional package for zlib 1.2.7
* keep zlib in build for the bootloader tarfs
This commit is contained in:
Jérôme Duval
2012-10-30 21:50:24 +01:00
parent e634025c06
commit a6a99fce04
13 changed files with 88 additions and 20 deletions
+7 -1
View File
@@ -94,7 +94,7 @@ SYSTEM_LIBS =
<revisioned>libroot.so libroot-addon-icu.so <revisioned>libroot.so libroot-addon-icu.so
libscreensaver.so libscreensaver.so
libtextencoding.so libtiff.so libtracker.so libtranslation.so libtextencoding.so libtiff.so libtracker.so libtranslation.so
libz.so $(HAIKU_ZLIB_CURRENT_LIB)
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++) $(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
$(HAIKU_FREETYPE_CURRENT_LIB) $(HAIKU_FREETYPE_CURRENT_LIB)
; ;
@@ -352,6 +352,12 @@ AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LIB:BS)
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LINK) AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LINK)
: libjpeg.so : : true ; : libjpeg.so : : true ;
# zlib.so links to the current zlib
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LIB:BS)
: $(HAIKU_ZLIB_CURRENT_LINK) : : true ;
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LINK)
: libzlib.so : : true ;
# servers # servers
AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ; AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ;
+40
View File
@@ -581,3 +581,43 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
} else { } else {
Echo "jpeg support not available on $(TARGET_ARCH)" ; Echo "jpeg support not available on $(TARGET_ARCH)" ;
} }
# zlib
local zlibBaseURL = $(baseURL)/lib ;
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
if $(TARGET_ARCH) = ppc {
HAIKU_ZLIB_FILE = zlib-1.2.7-ppc-gcc4-2012-10-30.zip ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc4-2012-10-30.zip ;
} else {
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc2-2012-10-30.zip ;
}
local zlibZipFile = [ DownloadFile $(HAIKU_ZLIB_FILE)
: $(zlibBaseURL)/$(HAIKU_ZLIB_FILE) ] ;
HAIKU_ZLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_ZLIB_FILE:B) ] ;
HAIKU_ZLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ZLIB_DIR)
: common/include : $(zlibZipFile)
: extracted-zlib ] ;
HAIKU_ZLIB_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
:
common/lib/libz.so
: $(zlibZipFile)
: extracted-zlib ] ;
HAIKU_ZLIB_CURRENT_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
:
common/lib/libz.so.1.2.7
: $(zlibZipFile)
: extracted-zlib ] ;
Depends $(HAIKU_ZLIB_LIB) $(HAIKU_ZLIB_CURRENT_LIB) : $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
HAIKU_ZLIB_CURRENT_LINK = libz.so.1 ;
HAIKU_ZLIB_HEADERS = [ FDirName $(HAIKU_ZLIB_DIR) common include ] ;
} else {
Echo "zlib support not available on $(TARGET_ARCH)" ;
}
+2 -1
View File
@@ -846,7 +846,6 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ; AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
CopyDirectoryToHaikuImage develop headers : CopyDirectoryToHaikuImage develop headers :
[ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ; [ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
@@ -854,6 +853,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
: 3rdparty ; : 3rdparty ;
CopyDirectoryToHaikuImage develop headers : $(HAIKU_LIBPNG_HEADERS) CopyDirectoryToHaikuImage develop headers : $(HAIKU_LIBPNG_HEADERS)
: 3rdparty ; : 3rdparty ;
CopyDirectoryToHaikuImage develop headers : $(HAIKU_ZLIB_HEADERS)
: 3rdparty ;
# cpp headers # cpp headers
if $(HAIKU_GCC_VERSION[1]) = 2 { if $(HAIKU_GCC_VERSION[1]) = 2 {
+1 -1
View File
@@ -56,7 +56,7 @@ Addon ffmpeg :
be be
media media
libz.a $(HAIKU_ZLIB_LIB)
$(TARGET_LIBSUPC++) $(TARGET_LIBSUPC++)
$(TARGET_NETWORK_LIBS) $(TARGET_NETWORK_LIBS)
; ;
@@ -11,7 +11,10 @@ if $(HAIKU_LIBSTDC++) = libstdc++.r4.so {
SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ;
} }
UseLibraryHeaders zlib ; UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
Includes [ FGristFiles ImfPxr24Compressor.cpp ImfZipCompressor.cpp ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
#StaticLibrary libilmimf.a : #StaticLibrary libilmimf.a :
SharedLibrary libilmimf.so : SharedLibrary libilmimf.so :
@@ -73,6 +76,7 @@ ImfVecAttribute.cpp
ImfVersion.cpp ImfVersion.cpp
ImfWav.cpp ImfWav.cpp
ImfZipCompressor.cpp ImfZipCompressor.cpp
: libhalf.a libiex.a libimath.a libilmthread.a $(TARGET_LIBSTDC++) z : libhalf.a libiex.a libimath.a libilmthread.a $(TARGET_LIBSTDC++)
$(HAIKU_ZLIB_LIB)
; ;
+5 -2
View File
@@ -2,7 +2,8 @@ SubDir HAIKU_TOP src add-ons translators hpgs ;
SubDirSysHdrs [ FDirName $(SUBDIR) lib ] ; SubDirSysHdrs [ FDirName $(SUBDIR) lib ] ;
SubDirCcFlags -DHPGS_SHARED -std=c99 ; SubDirCcFlags -DHPGS_SHARED -std=c99 ;
UseLibraryHeaders zlib ; UseLibraryHeaders iconv ;
UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
UseHeaders $(HAIKU_LIBPNG_HEADERS) : true ; UseHeaders $(HAIKU_LIBPNG_HEADERS) : true ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
@@ -42,13 +43,15 @@ hpgszostream.c
Includes [ FGristFiles hpgsimage.c ] Includes [ FGristFiles hpgsimage.c ]
: $(HAIKU_LIBPNG_HEADERS_DEPENDENCY) ; : $(HAIKU_LIBPNG_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles hpgszostream.c ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
Translator HPGSTranslator : Translator HPGSTranslator :
# HPGSTranslator classes # HPGSTranslator classes
ConfigView.cpp ConfigView.cpp
HPGSTranslator.cpp HPGSTranslator.cpp
$(sources) $(sources)
: be translation $(HAIKU_LIBPNG_LIB) libtextencoding.so libz.so : be translation $(HAIKU_LIBPNG_LIB) libtextencoding.so $(HAIKU_ZLIB_LIB)
libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: true : true
; ;
+3 -2
View File
@@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons translators png ;
SetSubDirSupportedPlatformsBeOSCompatible ; SetSubDirSupportedPlatformsBeOSCompatible ;
UseLibraryHeaders zlib ; UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
UseHeaders $(HAIKU_LIBPNG_HEADERS) : true ; UseHeaders $(HAIKU_LIBPNG_HEADERS) : true ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
@@ -20,7 +20,8 @@ Translator PNGTranslator :
PNGTranslator.cpp PNGTranslator.cpp
PNGView.cpp PNGView.cpp
: be translation $(HAIKU_LIBPNG_LIB) z libtranslatorsutils.a $(TARGET_LIBSUPC++) : be translation $(HAIKU_LIBPNG_LIB) $(HAIKU_ZLIB_LIB)
$(TARGET_LIBSUPC++) libtranslatorsutils.a
$(HAIKU_LOCALE_LIBS) $(HAIKU_LOCALE_LIBS)
: true : true
; ;
+6 -3
View File
@@ -5,11 +5,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
# Include support sub folder # Include support sub folder
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons translators wonderbrush support ] ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons translators wonderbrush support ] ;
UseLibraryHeaders zlib ; UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources WonderBrushTranslator : WonderBrushTranslator.rdef ; AddResources WonderBrushTranslator : WonderBrushTranslator.rdef ;
Includes [ FGristFiles bitmap_compression.cpp ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
Translator WonderBrushTranslator : Translator WonderBrushTranslator :
Canvas.cpp Canvas.cpp
Layer.cpp Layer.cpp
@@ -23,8 +26,8 @@ Translator WonderBrushTranslator :
blending.cpp blending.cpp
lab_convert.cpp lab_convert.cpp
: be translation z libtranslatorsutils.a $(TARGET_LIBSUPC++) : be translation $(HAIKU_ZLIB_LIB) libtranslatorsutils.a
$(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: true : true
; ;
+1 -1
View File
@@ -11,7 +11,7 @@ Application InstalledPackages :
main.cpp main.cpp
UninstallWindow.cpp UninstallWindow.cpp
UninstallView.cpp UninstallView.cpp
: be tracker translation z $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : be tracker translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
; ;
DoCatalogs InstalledPackages : DoCatalogs InstalledPackages :
+6 -2
View File
@@ -1,10 +1,13 @@
SubDir HAIKU_TOP src apps packageinstaller ; SubDir HAIKU_TOP src apps packageinstaller ;
UsePrivateHeaders shared interface ; UsePrivateHeaders shared interface ;
SubDirHdrs $(HAIKU_TOP) headers libs zlib ; UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
#SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits interface ] ; #SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits interface ] ;
Includes [ FGristFiles PackageItem.cpp ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
Application PackageInstaller : Application PackageInstaller :
main.cpp main.cpp
PackageWindow.cpp PackageWindow.cpp
@@ -16,7 +19,8 @@ Application PackageInstaller :
PackageTextViewer.cpp PackageTextViewer.cpp
PackageImageViewer.cpp PackageImageViewer.cpp
InstalledPackageInfo.cpp InstalledPackageInfo.cpp
: be $(HAIKU_LOCALE_LIBS) tracker translation z $(TARGET_LIBSUPC++) : be $(HAIKU_LOCALE_LIBS) tracker translation $(HAIKU_ZLIB_LIB)
$(TARGET_LIBSUPC++)
: PackageInstaller.rdef : PackageInstaller.rdef
; ;
+5 -2
View File
@@ -1,6 +1,6 @@
SubDir HAIKU_TOP src kits package ; SubDir HAIKU_TOP src kits package ;
UseLibraryHeaders zlib ; UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
UsePrivateHeaders UsePrivateHeaders
kernel kernel
@@ -8,6 +8,9 @@ UsePrivateHeaders
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
Includes [ FGristFiles ZlibCompressionBase.cpp ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
HPKG_SOURCES = HPKG_SOURCES =
AttributeDataReader.cpp AttributeDataReader.cpp
BlockBufferCache.cpp BlockBufferCache.cpp
@@ -72,5 +75,5 @@ SharedLibrary libpackage.so
$(HPKG_SOURCES) $(HPKG_SOURCES)
: :
libshared.a be z $(TARGET_LIBSTDC++) libshared.a be $(HAIKU_ZLIB_LIB) $(TARGET_LIBSTDC++)
; ;
+1 -1
View File
@@ -24,4 +24,4 @@ SubInclude HAIKU_TOP src libs termcap ;
SubInclude HAIKU_TOP src libs tiff ; SubInclude HAIKU_TOP src libs tiff ;
SubInclude HAIKU_TOP src libs udis86 ; SubInclude HAIKU_TOP src libs udis86 ;
SubInclude HAIKU_TOP src libs util ; SubInclude HAIKU_TOP src libs util ;
SubInclude HAIKU_TOP src libs zlib ;
+5 -2
View File
@@ -1,7 +1,8 @@
SubDir HAIKU_TOP src libs tiff ; SubDir HAIKU_TOP src libs tiff ;
UseLibraryHeaders tiff zlib ; UseLibraryHeaders tiff ;
UseHeaders $(HAIKU_JPEG_HEADERS) : true ; UseHeaders $(HAIKU_JPEG_HEADERS) : true ;
UseHeaders $(HAIKU_ZLIB_HEADERS) : true ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
@@ -47,10 +48,12 @@ local shared_files =
Includes [ FGristFiles tif_jpeg.c tif_ojpeg.c ] Includes [ FGristFiles tif_jpeg.c tif_ojpeg.c ]
: $(HAIKU_JPEG_HEADERS_DEPENDENCY) ; : $(HAIKU_JPEG_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles tif_pixarlog.c tif_zip.c ]
: $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
Objects $(shared_files) ; Objects $(shared_files) ;
SharedLibrary libtiff.so : [ FGristFiles $(shared_files:S=.o) ] SharedLibrary libtiff.so : [ FGristFiles $(shared_files:S=.o) ]
: $(HAIKU_JPEG_LIB) z : 3.8 ; : $(HAIKU_JPEG_LIB) $(HAIKU_ZLIB_LIB) : 3.8 ;
StaticLibrary libtiff.a : [ FGristFiles $(shared_files:S=.o) ] ; StaticLibrary libtiff.a : [ FGristFiles $(shared_files:S=.o) ] ;