Support building more libraries for secondary architecture

This commit is contained in:
Ingo Weinhold
2013-08-10 09:53:38 +02:00
parent 47fd9e6dc6
commit f51bf7d932
8 changed files with 226 additions and 177 deletions
@@ -2,12 +2,17 @@ SubDir HAIKU_TOP src add-ons translators exr openexr half ;
SubDirSysHdrs [ FDirName $(SUBDIR) ] ; SubDirSysHdrs [ FDirName $(SUBDIR) ] ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ;
} }
StaticLibrary libhalf.a : StaticLibrary [ MultiArchDefaultGristFiles libhalf.a ] :
eLut.cpp eLut.cpp
half.cpp half.cpp
toFloat.cpp toFloat.cpp
; ;
}
}
@@ -2,8 +2,12 @@ SubDir HAIKU_TOP src add-ons translators exr openexr iex ;
SubDirSysHdrs [ FDirName $(SUBDIR) ] ; SubDirSysHdrs [ FDirName $(SUBDIR) ] ;
StaticLibrary libiex.a : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
StaticLibrary [ MultiArchDefaultGristFiles libiex.a ] :
IexBaseExc.cpp IexBaseExc.cpp
IexThrowErrnoExc.cpp IexThrowErrnoExc.cpp
; ;
}
}
@@ -7,17 +7,20 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ilmthread ] ;
SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) imath ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) imath ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) config ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) config ] ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
UseBuildFeatureHeaders zlib ;
if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ;
} }
UseBuildFeatureHeaders zlib ;
Includes [ FGristFiles ImfPxr24Compressor.cpp ImfZipCompressor.cpp ] Includes [ FGristFiles ImfPxr24Compressor.cpp ImfZipCompressor.cpp ]
: [ BuildFeatureAttribute zlib : headers ] ; : [ BuildFeatureAttribute zlib : headers ] ;
#StaticLibrary libilmimf.a : #StaticLibrary [ MultiArchDefaultGristFiles libilmimf.a ] :
SharedLibrary libilmimf.so : SharedLibrary [ MultiArchDefaultGristFiles libilmimf.so ] :
b44ExpLogTable.cpp b44ExpLogTable.cpp
ImfAttribute.cpp ImfAttribute.cpp
ImfB44Compressor.cpp ImfB44Compressor.cpp
@@ -76,7 +79,11 @@ SharedLibrary libilmimf.so :
ImfVersion.cpp ImfVersion.cpp
ImfWav.cpp ImfWav.cpp
ImfZipCompressor.cpp ImfZipCompressor.cpp
: libhalf.a libiex.a libimath.a libilmthread.a $(TARGET_LIBSTDC++) :
[ MultiArchDefaultGristFiles libhalf.a libiex.a libimath.a
libilmthread.a ]
$(TARGET_LIBSTDC++)
[ BuildFeatureAttribute zlib : library ] [ BuildFeatureAttribute zlib : library ]
; ;
}
}
@@ -4,7 +4,10 @@ SubDirSysHdrs [ FDirName $(SUBDIR) ] ;
SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) iex ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) iex ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) config ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) config ] ;
StaticLibrary libilmthread.a : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
StaticLibrary [ MultiArchDefaultGristFiles libilmthread.a ] :
IlmThread.cpp IlmThread.cpp
IlmThreadMutex.cpp IlmThreadMutex.cpp
IlmThreadMutexPosix.cpp IlmThreadMutexPosix.cpp
@@ -14,3 +17,5 @@ IlmThreadSemaphore.cpp
IlmThreadSemaphorePosixCompat.cpp IlmThreadSemaphorePosixCompat.cpp
IlmThreadSemaphorePosix.cpp IlmThreadSemaphorePosix.cpp
; ;
}
}
@@ -4,11 +4,14 @@ SubDirSysHdrs [ FDirName $(SUBDIR) ] ;
SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) half ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) half ] ;
SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) iex ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) iex ] ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ;
} }
StaticLibrary libimath.a : StaticLibrary [ MultiArchDefaultGristFiles libimath.a ] :
ImathBox.cpp ImathBox.cpp
ImathColorAlgo.cpp ImathColorAlgo.cpp
ImathFun.cpp ImathFun.cpp
@@ -17,3 +20,5 @@ StaticLibrary libimath.a :
ImathShear.cpp ImathShear.cpp
ImathVec.cpp ImathVec.cpp
; ;
}
}
+20 -11
View File
@@ -2,11 +2,6 @@ SubDir HAIKU_TOP src kits opengl ;
SetSubDirSupportedPlatformsBeOSCompatible ; SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders interface ;
UsePrivateSystemHeaders ;
UseBuildFeatureHeaders glu ;
UseBuildFeatureHeaders mesa ;
local sources = local sources =
GLView.cpp GLView.cpp
GLDispatcher.cpp GLDispatcher.cpp
@@ -20,11 +15,24 @@ if $(TARGET_PLATFORM) != haiku {
# We need our public GL headers also when not compiling for Haiku. # We need our public GL headers also when not compiling for Haiku.
} }
Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute glu : headers ] ; local architectureObject ;
Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute mesa : headers ] ; for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateHeaders interface ;
UsePrivateSystemHeaders ;
UseBuildFeatureHeaders glu ;
UseBuildFeatureHeaders mesa ;
Includes [ FGristFiles $(sources) ]
: [ BuildFeatureAttribute glu : headers ] ;
Includes [ FGristFiles $(sources) ]
: [ BuildFeatureAttribute mesa : headers ] ;
UseHeaders [ BuildFeatureAttribute mesa : headers : path ] ; UseHeaders [ BuildFeatureAttribute mesa : headers : path ] ;
local privateHeaders = [ BuildFeatureAttribute mesa : privateHeaders : path ] ; local privateHeaders
= [ BuildFeatureAttribute mesa : privateHeaders : path ] ;
UseHeaders [ FDirName $(privateHeaders) mesa ] ; UseHeaders [ FDirName $(privateHeaders) mesa ] ;
UseHeaders [ FDirName $(privateHeaders) mesa main ] ; UseHeaders [ FDirName $(privateHeaders) mesa main ] ;
UseHeaders [ FDirName $(privateHeaders) mapi ] ; UseHeaders [ FDirName $(privateHeaders) mapi ] ;
@@ -37,12 +45,11 @@ LINKFLAGS on libGL.so = [ on libGL.so return $(LINKFLAGS) ]
-Xlinker --whole-archive -Xlinker --no-undefined ; -Xlinker --whole-archive -Xlinker --no-undefined ;
# For GCC2 # For GCC2
if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { if $(architecture) = x86_gcc2 {
SubDirC++Flags --no-warnings ; SubDirC++Flags --no-warnings ;
} }
SharedLibrary [ MultiArchDefaultGristFiles libGL.so ] : $(sources) :
SharedLibrary libGL.so : $(sources) :
# GLU # GLU
[ BuildFeatureAttribute glu : library ] [ BuildFeatureAttribute glu : library ]
@@ -55,3 +62,5 @@ SharedLibrary libGL.so : $(sources) :
be be
$(TARGET_LIBSTDC++) $(TARGET_LIBSTDC++)
; ;
}
}
+12 -5
View File
@@ -1,6 +1,4 @@
SubDir HAIKU_TOP src libs glut ; SubDir HAIKU_TOP src libs glut ;
UseBuildFeatureHeaders glu ;
UseBuildFeatureHeaders mesa ;
SetSubDirSupportedPlatformsBeOSCompatible ; SetSubDirSupportedPlatformsBeOSCompatible ;
@@ -50,22 +48,31 @@ local sourcesCpp =
; ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UseBuildFeatureHeaders glu ;
UseBuildFeatureHeaders mesa ;
# For GCC2 # For GCC2
if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { if $(architecture) = x86_gcc2 {
SubDirC++Flags --no-warnings ; SubDirC++Flags --no-warnings ;
} }
# Ensure Mesa dependency is met # Ensure Mesa dependency is met
Includes [ FGristFiles $(sourcesCc) $(sourcesCpp) ] : Includes [ FGristFiles $(sourcesCc) $(sourcesCpp) ] :
[ BuildFeatureAttribute glu : headers ] [ BuildFeatureAttribute glu : headers ]
[ BuildFeatureAttribute mesa : headers ] [ BuildFeatureAttribute mesa : headers ]
; ;
SharedLibrary libglut.so : SharedLibrary [ MultiArchDefaultGristFiles libglut.so ] :
$(sourcesCpp) $(sourcesCpp)
$(sourcesCc) $(sourcesCc)
: :
GL game be $(TARGET_LIBSTDC++) GL game be $(TARGET_LIBSTDC++)
[ BuildFeatureAttribute glu : library ] [ BuildFeatureAttribute glu : library ]
; ;
}
}
+13 -6
View File
@@ -1,9 +1,5 @@
SubDir HAIKU_TOP src libs tiff ; SubDir HAIKU_TOP src libs tiff ;
UseLibraryHeaders tiff ;
UseBuildFeatureHeaders jpeg ;
UseBuildFeatureHeaders zlib ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
local shared_files = local shared_files =
@@ -46,6 +42,13 @@ local shared_files =
tif_zip.c tif_zip.c
; ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
UseLibraryHeaders tiff ;
UseBuildFeatureHeaders jpeg ;
UseBuildFeatureHeaders zlib ;
Includes [ FGristFiles tif_jpeg.c tif_ojpeg.c ] Includes [ FGristFiles tif_jpeg.c tif_ojpeg.c ]
: [ BuildFeatureAttribute jpeg : headers ] ; : [ BuildFeatureAttribute jpeg : headers ] ;
Includes [ FGristFiles tif_pixarlog.c tif_zip.c ] Includes [ FGristFiles tif_pixarlog.c tif_zip.c ]
@@ -53,10 +56,14 @@ Includes [ FGristFiles tif_pixarlog.c tif_zip.c ]
Objects $(shared_files) ; Objects $(shared_files) ;
SharedLibrary libtiff.so : [ FGristFiles $(shared_files:S=.o) ] SharedLibrary [ MultiArchDefaultGristFiles libtiff.so ]
: [ FGristFiles $(shared_files:S=.o) ]
: :
[ BuildFeatureAttribute jpeg : library ] [ BuildFeatureAttribute jpeg : library ]
[ BuildFeatureAttribute zlib : library ] [ BuildFeatureAttribute zlib : library ]
: 3.8 ; : 3.8 ;
StaticLibrary libtiff.a : [ FGristFiles $(shared_files:S=.o) ] ; StaticLibrary [ MultiArchDefaultGristFiles libtiff.a ]
: [ FGristFiles $(shared_files:S=.o) ] ;
}
}