fix build with emulator-yagl
authorStephane Desneux <stephane.desneux@open.eurogiciel.org>
Mon, 12 May 2014 16:01:21 +0000 (18:01 +0200)
committerStephane Desneux <stephane.desneux@open.eurogiciel.org>
Tue, 13 May 2014 09:10:57 +0000 (11:10 +0200)
Change-Id: Ifd2e1100668461dd200cc68d7147e0adf8d5981a
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
build.conf

index c0eaa4195296daeecfcd4ac311f9aecc5d64b320..4f71e5efaa93333968e426ea26d1ca3bc03432cf 100644 (file)
@@ -4,6 +4,13 @@ Support: build
 Support: build-compare build-mkbaselibs
 Support: rpmlint-mini rpmlint-tizen
 
+
+%global aarch64  aarch64 arm64 armv8
+
+%ifarch ${aarch64}
+%define _arch aarch64
+%endif
+
 FileProvides: /usr/sbin/groupadd pwdutils
 Prefer: util-linux
 Prefer: nfc-manager
@@ -21,17 +28,22 @@ Prefer: libtapi-devel
 #|   1     |  1  | wayland but X compatibility
 #|   0     |  0  | no X and no wayland
 
-%if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard" 
+%ifarch %arm armv7l %{aarch64}
+Substitute: mesa-devel pkgconfig(glesv2)
+Substitute: pkgconfig(egl)
+%endif
+
+%if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland"|| "%_repository" == "arm"|| "%_repository" == "arm64" || "%_repository" == "arm64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard" 
 # mesa
 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2) 
-Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1_cm
+Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl
 %define _with_wayland 1
 Macros:
 %_with_wayland 1
 :Macros
 %endif
 
-%if "%_repository" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "x11"
+%if "%_repository" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" || "%_repository" == "x11"
 # mesa
 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl) 
@@ -41,7 +53,7 @@ Macros:
 :Macros
 %endif
 
-%if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "xwayland"
+%if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "arm-xwayland" || "%_repository" == "arm64-xwayland" || "%_repository" == "xwayland"
 # mesa
 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl) 
@@ -53,6 +65,16 @@ Macros:
 :Macros
 %endif
 
+%if "%_repository" == "emulator" 
+Prefer: emulator-yagl
+Prefer: -mesa
+%else
+Prefer: mesa
+Prefer: -emulator-yagl
+%end
+
+Prefer: libpci-devel
+
 %define _with_pulseaudio_samsung_policy 1
 %define _with_tizen 1
 %define _with_mesa 1
@@ -71,11 +93,15 @@ Target: armv7hl-tizen-linux
 Target: armv7l-tizen-linux
 %endif
 
+%ifarch aarch64
+Target: aarch64-tizen-linux
+%endif
+
 %ifarch %arm armv7l
 Hostarch: x86_64
 # cross build support for the build hosts
-Preinstall: qemu-linux-user
-Keep: qemu-linux-user
+Preinstall: qemu-linux-user-cross-arm
+Keep: qemu-linux-user-cross-arm
 %endif
 
 %ifarch armv7hl 
@@ -93,12 +119,90 @@ Preinstall: qemu-accel-armv7el
 Runscripts: qemu-accel-armv7el
 Preinstall: util-linux libmount libblkid libuuid
 %endif
+%ifarch aarch64 
+Preinstall: qemu-accel-aarch64-cross-arm
+Runscripts: qemu-accel-aarch64-cross-arm
+Preinstall: util-linux libmount libblkid libuuid
+%endif
 
-ExportFilter: ^qemu-linux-user.*\.x86_64\.rpm$ . armv7el armv7l armv7hl
+%ifarch aarch64
+Substitute: cross-aarch64-binutils  binutils
+Substitute: cross-aarch64-gcc48-icecream-backend gcc
+Preinstall: setup filesystem
+Preinstall: qemu-accel-aarch64-cross-arm
+Runscripts: qemu-accel-aarch64-cross-arm setup filesystem
+
+Preinstall: rpm rpm-build pam db4
+Preinstall: libncurses libmpc libmpfr libgmp cloog-isl
+Preinstall: python
+
+
+#hack to start build without proper binfmt
+Preinstall: !bbb-cross-arm
+Ignore:     bbb-cross-arm
+Preinstall: bash
+
+
+#provides until we can build libs correctly
+#FileProvides: libc.so.6 glibc
+#FileProvides: libc.so.6(GLIBC_2.4) glibc
+#FileProvides: libc.so.6(GLIBC_2.6) glibc
+#FileProvides: libc.so.6(GLIBC_2.7) glibc
+#FileProvides: libc.so.6(GLIBC_2.8) glibc
+#FileProvides: libc.so.6(GLIBC_2.11) glibc
+#FileProvides: libc.so.6(GLIBC_2.15) glibc
+#FileProvides: libc.so.6(GLIBC_2.17) glibc
+#FileProvides: ld-linux.so.3 glibc
+#FileProvides: ld-linux.so.3(GLIBC_2.4) glibc
+#FileProvides: ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) glibc
+#FileProvides: ld-linux-aarch64.so.1()(64bit) glibc
+#FileProvides: libdl.so.2 glibc
+#FileProvides: libdl.so.2(GLIBC_2.4) glibc
+#FileProvides: libcrypt.so.1 glibc
+#FileProvides: libcrypt.so.1(GLIBC_2.4) glibc
+#FileProvides: libm.so.6 glibc
+#FileProvides: libm.so.6(GLIBC_2.4) glibc
+#FileProvides: libpthread.so.0 glibc
+#FileProvides: libpthread.so.0(GLIBC_2.4) glibc
+#FileProvides: libacl.so.1 acl
+#FileProvides: liblua.so.5.1 liblua
+#FileProvides: liblzma.so.5 xz
+#FileProvides: libpopt.so.0 popt
+#FileProvides: libelf.so.1(ELFUTILS_1.0) libelf
+#FileProvides: libnsl.so.1 glibc
+#FileProvides: libnsl.so.1(GLIBC_2.4) glibc
+#FileProvides: libutil.so.1 glibc
+#FileProvides: libutil.so.1(GLIBC_2.4) glibc
+#FileProvides: libpopt.so.0(LIBPOPT_0) popt
+#FileProvides: libacl.so.1(ACL_1.0) acl
+#FileProvides: libz.so.1(ZLIB_1.2.3.3) zlib
+#FileProvides: libmagic.so.1 libmagic
+#FileProvides: libgmp.so.10 libgmp
+#FileProvides: libmpc.so.3 libmpc
+#FileProvides: libmpfr.so.4 libmpfr
+#FileProvides: libnspr4.so nspr
+#FileProvides: libplc4.so nspr
+#FileProvides: libplds4.so nspr
+#FileProvides: libsqlite3.so.0 sqlite
+#FileProvides: libattr.so.1 attr
+#FileProvides: libattr.so.1(ATTR_1.0) attr
+#FileProvides: libsmack.so.1 smack
+#FileProvides: libsmack.so.1(LIBSMACK_1.0) smack
+#FileProvides: libxml2.so.2 libxml2
+#FileProvides: libxml2.so.2(LIBXML2_2.4.30) libxml2
+#FileProvides: libxml2.so.2(LIBXML2_2.5.0) libxml2
+#FileProvides: libxml2.so.2(LIBXML2_2.6.0) libxml2
+#FileProvides: librpm.so.3()(64bit) rpm 
+#FileProvides: librpmio.so.3()(64bit) rpm
+%endif
+
+ExportFilter: ^qemu-linux-user.*\.x86_64\.rpm$ . armv7l armv7hl aarch64
 
 ExportFilter: ^qemu-accel-armv7hl.*\.x86_64\.rpm$ .  armv7hl
 ExportFilter: ^qemu-accel-armv7l.*\.x86_64\.rpm$ .  armv7l
-ExportFilter: ^qemu-accel-armv7el.*\.x86_64\.rpm$ .  armv7el
+ExportFilter: ^qemu-accel-aarch64.*\.x86_64\.rpm$ .  aarch64
+ExportFilter: \.armv7l\.rpm$ armv7l
+ExportFilter: \.aarch64\.rpm$ aarch64
 ExportFilter: \.x86_64\.rpm$ x86_64
 
 
@@ -122,9 +226,11 @@ Preinstall: rpm-security-plugin
 
 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux  
 
+%ifarch aarch64
+Support: cross-aarch64-binutils cross-aarch64-gcc48-icecream-backend
+%endif
 Required: binutils gcc glibc rpm-build libtool
 
-Support: glibc-locale
 Support: perl
 Support: hostname
 Support: cpio findutils
@@ -174,6 +280,8 @@ Optflags: x86_64 -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORT
 
 Optflags: armv7l -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  --param=ssp-buffer-size=32 -Wformat -Wformat-security -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian  -mfpu=vfpv3 -mfloat-abi=softfp -D__SOFTFP__
 
+Optflags: aarch64 -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  -Wformat -Wformat-security -fmessage-length=0
+
 Macros:
 
 %profile common
@@ -192,3 +300,4 @@ Macros:
 %vendor tizen
 %_vendor tizen
 
+