Update glu and mesa package

Also use the new build feature rules.
This commit is contained in:
Ingo Weinhold
2013-06-14 00:48:08 +02:00
parent 178da21ad1
commit e97e4b74a0
21 changed files with 198 additions and 161 deletions
+39 -63
View File
@@ -264,21 +264,24 @@ if $(TARGET_ARCH) = x86 {
# GLU (GL Utilities)
if $(TARGET_ARCH) = x86 {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_GLU_FILE = glu-9.0-x86-gcc4-2012-11-13.zip ;
# TODO:...
HAIKU_GLU_PACKAGE = glu-9.0-x86-gcc4-2012-11-13.zip ;
} else {
HAIKU_GLU_FILE = glu-9.0-x86-gcc2-2012-11-13.zip ;
HAIKU_GLU_PACKAGE = glu-9.0.0-1-x86_gcc2.hpkg ;
HAIKU_GLU_DEVEL_PACKAGE = glu_devel-9.0.0-1-x86_gcc2.hpkg ;
}
local zipFile = [ DownloadFile $(HAIKU_GLU_FILE)
: $(baseURL)/lib/$(HAIKU_GLU_FILE) ] ;
HAIKU_GLU_URL = $(hpkgBaseURL)/$(HAIKU_GLU_PACKAGE) ;
HAIKU_GLU_DEVEL_URL = $(hpkgBaseURL)/$(HAIKU_GLU_DEVEL_PACKAGE) ;
HAIKU_GLU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_GLU_FILE:B) ] ;
HAIKU_GLU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_GLU_DIR)
: develop/headers/os/opengl/GL : $(zipFile) : extracted-glu-headers ] ;
HAIKU_GLU_LIBS = [ ExtractArchive $(HAIKU_GLU_DIR)
: system/lib/libGLU.a : $(zipFile) : extracted-glu ] ;
HAIKU_GLU_HEADERS = [ FDirName $(HAIKU_GLU_DIR) develop headers os opengl ] ;
ExtractBuildFeatureArchives glu :
file: base $(HAIKU_GLU_URL)
runtime: lib
file: devel $(HAIKU_GLU_DEVEL_URL)
depends: base
library: develop/lib/libGLU.so
headers: develop/headers
;
EnableBuildFeatures glu ;
} else {
@@ -290,64 +293,37 @@ if $(TARGET_ARCH) = x86 {
if $(TARGET_ARCH) = x86 {
local zipFile ;
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
# TODO:...
HAIKU_MESA_PACKAGE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
} else {
HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
HAIKU_MESA_PACKAGE = mesa-7.8.2-3-x86_gcc2.hpkg ;
HAIKU_MESA_DEVEL_PACKAGE = mesa_devel-7.8.2-3-x86_gcc2.hpkg ;
}
zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
: $(baseURL)/$(HAIKU_MESA_FILE) ] ;
HAIKU_MESA_URL = $(hpkgBaseURL)/$(HAIKU_MESA_PACKAGE) ;
HAIKU_MESA_DEVEL_URL = $(hpkgBaseURL)/$(HAIKU_MESA_DEVEL_PACKAGE) ;
HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_MESA_FILE:B) ] ;
ExtractBuildFeatureArchives mesa : [ FFilterByBuildFeatures
file: devel $(HAIKU_MESA_DEVEL_URL)
mesaLibrary: develop/lib/libmesa.a
glapiLibrary: develop/lib/libglapi.a
headers: develop/headers
privateHeaders: develop/headers/mesa_private
HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
: include/ : $(zipFile) : extracted-mesa ] ;
!gcc2 @{
glslLibrary: develop/lib/libglsl.a
galliumLibrary: develop/lib/libgallium.a
llvm @{
galliumLlvmpipeLibrary: develop/lib/libllvmpipe.a
}@
!llvm @{
galliumSoftpipeLibrary: develop/lib/libsoftpipe.a
}@
}@ # !gcc2
] ;
# Base Mesa libraries
HAIKU_MESA_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libmesa.a
: $(zipFile)
: extracted-mesa ] ;
HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libglapi.a
: $(zipFile)
: extracted-mesa ] ;
Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ;
Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ;
# Extended Mesa libraries for newer versions
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libglsl.a
: $(zipFile)
: extracted-mesa ] ;
HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libgallium.a
: $(zipFile)
: extracted-mesa ] ;
if FIsBuildFeatureEnabled(llvm) {
HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libllvmpipe.a
: $(zipFile)
: extracted-mesa ] ;
Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ;
} else {
HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
:
lib.haiku/libsoftpipe.a
: $(zipFile)
: extracted-mesa ] ;
}
}
Depends [ BuildFeatureAttribute mesa : galliumLlvmpipeLibrary ]
: $(HAIKU_LLVM_LIBS) ;
EnableBuildFeatures mesa ;
} else {
+3 -2
View File
@@ -11,7 +11,8 @@ OptionalPackageDependencies Caya : Expat ;
OptionalPackageDependencies CDRecord : GetTextLibintl LibIconv ;
OptionalPackageDependencies Curl : OpenSSL ;
OptionalPackageDependencies DevelopmentBase : CDRecord DevelopmentMin Yasm ;
OptionalPackageDependencies Development : DevelopmentBase Perl Zlib-devel ;
OptionalPackageDependencies Development
: DevelopmentBase GLU-devel Perl Zlib-devel ;
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
OptionalPackageDependencies GetText : GetTextLibintl ;
OptionalPackageDependencies GetTextLibintl : LibIconv ;
@@ -45,4 +46,4 @@ OptionalPackageDependencies XZ-Utils : Tar ;
OptionalPackageDependencies Zlib-devel : Zlib ;
OptionalPackageDependencies MandatoryPackages
: Bzip Ctags Grep ICU LibSolv Sed Tar Zlib ;
: Bzip Ctags GLU Grep ICU LibSolv Mesa Sed Tar Zlib ;
+36
View File
@@ -49,6 +49,8 @@
# GetTextLibintl - GetText's libintl
# Git - the distributed version control system
# GitDoc - documentation for the distributed version control system
# GLU - OpenGL Utilities
# GLU-devel - GLU development files
# GPerf - the perfect hash function generator.
# Grep - program to search for strings inside a file
# Groff - text formatter used for man pages
@@ -959,6 +961,30 @@ if [ IsOptionalHaikuImagePackageAdded GitDoc ] {
}
# GLU
if [ IsOptionalHaikuImagePackageAdded GLU ] {
if $(TARGET_ARCH) = x86 {
InstallOptionalHaikuImagePackage
$(hpkgBaseURL)/$(HAIKU_GLU_URL)
: system ;
} else {
Echo "No optional package GLU available for $(TARGET_ARCH)" ;
}
}
# GLU-devel
if [ IsOptionalHaikuImagePackageAdded GLU-devel ] {
if $(TARGET_ARCH) = x86 {
InstallOptionalHaikuImagePackage
$(hpkgBaseURL)/$(HAIKU_GLU_DEVEL_PACKAGE)
: system ;
} else {
Echo "No optional package GLU-devel available for $(TARGET_ARCH)" ;
}
}
# GPerf
if [ IsOptionalHaikuImagePackageAdded GPerf ] {
if $(TARGET_ARCH) = x86 {
@@ -1294,6 +1320,16 @@ if [ IsOptionalHaikuImagePackageAdded Mercurial ] {
}
# Mesa
if [ IsOptionalHaikuImagePackageAdded Mesa ] {
if $(TARGET_ARCH) = x86 {
InstallOptionalHaikuImagePackage $(HAIKU_MESA_URL) : system ;
} else {
Echo "No optional package Mesa available for $(TARGET_ARCH)" ;
}
}
# Nano
if [ IsOptionalHaikuImagePackageAdded Nano ] {
if $(TARGET_ARCH) = x86 {
-11
View File
@@ -97,20 +97,9 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
}
# libGL.so has GLU (like BeOS) built-in
SYSTEM_LIBS_LIBGL_ALIASES = libGLU.so ;
if $(TARGET_ARCH) = x86 {
local lib ;
for lib in $(SYSTEM_LIBS_LIBGL_ALIASES) {
AddSymlinkToPackage lib : libGL.so : $(lib) ;
}
}
SYSTEM_LIBS_ALIASES =
$(SYSTEM_LIBS_LIBNETWORK_ALIASES)
libnetapi.so
$(SYSTEM_LIBS_LIBGL_ALIASES)
;
OPTIONAL_LIBS_ALIASES =
+6 -6
View File
@@ -22,7 +22,7 @@ AddFilesToPackage lib : $(developmentLibs) ;
# library symlinks
local lib ;
for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
for lib in $(SYSTEM_LIBS) $(developmentLibs) {
AddSymlinkToPackage $(developDirTokens) lib : /system/lib $(lib:BS) ;
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
if $(abiVersion) {
@@ -88,13 +88,13 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
# OpenGL headers
if $(TARGET_ARCH) = x86 {
local mesaGlHeaders = [ FDirName $(HAIKU_MESA_HEADERS) GL ] ;
mesaGlHeaders = $(mesaGlHeaders:G=$(HAIKU_MESA_HEADERS_DEPENDENCY:G)) ;
Depends $(mesaGlHeaders) : $(HAIKU_MESA_HEADERS_DEPENDENCY) ;
local mesaGlHeaders
= [ FDirName [ BuildFeatureAttribute mesa : headers : path ] GL ] ;
local mesaGlHeadersDependency = [ BuildFeatureAttribute mesa : headers ] ;
mesaGlHeaders = $(mesaGlHeaders:G=$(mesaGlHeadersDependency:G)) ;
Depends $(mesaGlHeaders) : $(mesaGlHeadersDependency) ;
CopyDirectoryToPackage $(developDirTokens) headers os opengl
: $(mesaGlHeaders) : : : isTarget ;
CopyDirectoryToPackage $(developDirTokens) headers os opengl
: $(HAIKU_GLU_HEADERS_DEPENDENCY) : : : isTarget ;
}
BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;