Update glu and mesa package
Also use the new build feature rules.
This commit is contained in:
+39
-63
@@ -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 {
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user