summaryrefslogtreecommitdiff
path: root/build.conf
diff options
context:
space:
mode:
authorStephane Desneux <stephane.desneux@open.eurogiciel.org>2014-05-24 13:38:20 +0200
committerStephane Desneux <stephane.desneux@open.eurogiciel.org>2014-05-24 13:38:20 +0200
commitbb5c8a7148e8c17c2267f57ab2a8f49c64504316 (patch)
tree63ce895cf401a930707319008efe9bfc936d9ebe /build.conf
parent1843bafb9c2440231f59875716b472f8aa0a732d (diff)
downloadbuild-config-bb5c8a7148e8c17c2267f57ab2a8f49c64504316.tar.gz
build-config-bb5c8a7148e8c17c2267f57ab2a8f49c64504316.tar.bz2
build-config-bb5c8a7148e8c17c2267f57ab2a8f49c64504316.zip
make sections in build conf, add comments, fixes for emulator
Change-Id: I6fbba2464b79392d248b76ace6f1098ad8f5e348 Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
Diffstat (limited to 'build.conf')
-rw-r--r--build.conf207
1 files changed, 131 insertions, 76 deletions
diff --git a/build.conf b/build.conf
index 2e64bbc..636ae30 100644
--- a/build.conf
+++ b/build.conf
@@ -4,97 +4,190 @@ Support: build
Support: build-compare build-mkbaselibs
Support: rpmlint-mini rpmlint-tizen
-
%global aarch64 aarch64 arm64 armv8
%ifarch ${aarch64}
%define _arch aarch64
%endif
+############################# conflicts resolution #############################
+
FileProvides: /usr/sbin/groupadd pwdutils
Prefer: util-linux
-#Prefer: nfc-manager
-#Prefer: nfc-manager-devel
-#Prefer: nfc-common-lib-devel
-#Prefer: nfc-common-lib
-#Prefer: nfc-client-lib
-#Prefer: nfc-client-lib-devel
Prefer: libtapi-devel
+Prefer: libpci-devel
+
+############################# profile definition ###############################
+
+%define profile common
+%define _with_tizen 1
+
+Macros:
+%profile common
+%tizen_version 3.0
+%tizen 3.0
+%vendor tizen
+%_vendor tizen
+%_with_tizen 1
+
+%check exit 0
+%run_check_section 0
+%opensuse_bs 1
+%_default_patch_fuzz 2
+:Macros
-#| wayland | x | meaning
-#|---------------------------
-#| 0 | 1 | pure X11 platform(no wayland)
-#| 1 | 0 | pure wayland platform (no X11)
-#| 1 | 1 | wayland but X compatibility
-#| 0 | 0 | no X and no wayland
+############################# display system ###################################
+
+########## display system selection ##########
+
+# selection of the display system
+# this selection is done for each repository
+#
+# flags combinations:
+# |----------------------------------------------------
+# | wayland | x | meaning
+# |----------------------------------------------------
+# | 0 | 1 | pure X11 platform(no wayland)
+# | 1 | 0 | pure wayland platform (no X11)
+# | 1 | 1 | wayland but X compatibility
+# | 0 | 0 | no X and no wayland
+# |----------------------------------------------------
+#
+# Owner: Stephane <stephane.desneux@open.eurogiciel.org>
+
+########## RDP flag ##########
+
+# enable/disable RDP (remote desktop protocol) for wayland
+# flag: _with_rdp, used in repositories
+# Affects: weston, freerdp
+# Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
+
+########## mesa activation ##########
+
+%define _with_mesa 1
+Macros:
+%_with_mesa 1
+:Macros
%ifarch %arm armv7l %{aarch64}
-Substitute: mesa-devel pkgconfig(glesv2)
-#Substitute: pkgconfig(egl)
+ Substitute: mesa-devel pkgconfig(glesv2)
+ #FIXME Substitute: pkgconfig(egl)
%endif
+############################# wayland repositories #############################
+
%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) pkgconfig(gl)
+
%define _with_wayland 1
+%define _with_rdp 1
+
Macros:
%_with_wayland 1
+%_with_rdp 1
:Macros
+
%endif
+############################# X11 repositories #################################
+
%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)
+
%define _with_x 1
+
Macros:
%_with_x 1
:Macros
+
%endif
+############################# X+Wayland repositories ###########################
+
%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)
+
%define _with_wayland 1
%define _with_x 1
+
Macros:
%_with_wayland 1
%_with_x 1
:Macros
+
%endif
-########################################### emulator config ################################
-# take from IVI:Release
+############################# emulator repositories ############################
+
+%if "%_repository" == "emulator32-wayland"
-# Added for emulator-yagl conflict (does not solve emulators needs)
Prefer: mesa-libGLESv2
Prefer: libwayland-egl
Prefer: libgbm
Prefer: mesa-libGL
Prefer: mesa-libEGL
-
-# This solves emulators needs
-%if "%_repository" == "emulator32-wayland"
Prefer: emulator-yagl
+
+Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
+Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
+
%define _with_wayland 1
%define _with_emulator 1
+
Macros:
%_with_wayland 1
%_with_emulator 1
:Macros
+
%endif
-#############################################################################################
+############################# misc config flags ################################
-Prefer: libpci-devel
+# This build macro controls the libdlog output. If enabled,
+# libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
+# logger FIFO. Affects: dlog.
+# Owner: Mikko <mikko.ylinen@intel.com>
+Macros:
+%_with_dlog_to_systemd_journal 1
+:Macros
+
+# Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
+# In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
+# Then homescreen is supposed to deal with those notifications and display relevant popups.
+# Affects: bluetooth-frwk
+# Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
+Macros:
+%_with_bluetooth_frwk_libnotification 1
+:Macros
+# This build macro controls whether the OS uses
+# legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
+# nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
+# Owner: Arron Wang <arron.wang@intel.com>
+Macros:
+%_with_neard_nfc 1
+:Macros
+
+# Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
+# this -> Tizen Mobile is compiled with this option.
+# Owner: Ismo Puustinen <ismo.puustinen@intel.com>
+# FIXME: Why this extra define in the obs config ?
%define _with_pulseaudio_samsung_policy 1
-%define _with_tizen 1
-%define _with_mesa 1
+Macros:
+%_with_pulseaudio_samsung_policy 1
+:Macros
+
+############################# build config #####################################
+
%define gcc_version 48
-%define profile common
+
+########## targets ##########
%ifarch i586
Target: i686-tizen-linux
@@ -112,6 +205,8 @@ Target: armv7l-tizen-linux
Target: aarch64-tizen-linux
%endif
+########## cross build ##########
+
%ifarch %arm armv7l
Hostarch: x86_64
# cross build support for the build hosts
@@ -124,6 +219,7 @@ Preinstall: qemu-accel-armv7hl
Runscripts: qemu-accel-armv7hl
Preinstall: libmount libblkid libuuid
%endif
+
%ifarch armv7l
Preinstall: qemu-accel-armv7l-cross-arm
Runscripts: qemu-accel-armv7l-cross-arm
@@ -141,13 +237,11 @@ 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
@@ -199,7 +293,9 @@ Preinstall: bash
#FileProvides: libxml2.so.2(LIBXML2_2.6.0) libxml2
#FileProvides: librpm.so.3()(64bit) rpm
#FileProvides: librpmio.so.3()(64bit) rpm
-%endif
+%endif # aarch64
+
+########## exports for different architectures ##########
ExportFilter: ^qemu-linux-user.*\..*\.rpm$ . armv7l armv7hl aarch64
@@ -211,6 +307,7 @@ ExportFilter: \.armv7l\.rpm$ armv7l
ExportFilter: \.aarch64\.rpm$ aarch64
ExportFilter: \.x86_64\.rpm$ x86_64
+########## buildroot config ##########
Preinstall: setup filesystem
RunScripts: setup
@@ -250,7 +347,7 @@ Support: less
Support: which elfutils
Support: update-alternatives
-# TO REMOVE
+# FIXME: TO REMOVE (? comes from IVI)
Support: gcc-c++
Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
@@ -273,13 +370,13 @@ Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
Substitute: gettext gettext-tools
-
%ifarch x86_64
Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
%else
Substitute: glibc-devel-32bit
%endif
+########## compilation flags ##########
#%__global_cflags -O2 -g2 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -Wformat -Wformat-security
@@ -288,45 +385,3 @@ 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
-
-%_with_tizen 1
-%_with_mesa 1
-%check exit 0
-%run_check_section 0
-%opensuse_bs 1
-%_default_patch_fuzz 2
-
-%_with_dlog_to_systemd_journal 1
-#Not related to WRT. This build macro controls the libdlog output. If enabled,
-#libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
-#logger FIFO. Affects: dlog.
-#Owner: Mikko <mikko.ylinen@intel.com>
-
-%_with_bluetooth_frwk_libnotification 1
-#Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
-#In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
-#Then homescreen is supposed to deal with those notifications and display relevant popups.
-#Affects: bluetooth-frwk
-#Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
-
-%_with_neard_nfc 1
-#Not related to WRT. This build macro controls whether the OS uses
-#legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
-#nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
-#Owner: Arron Wang <arron.wang@intel.com>
-
-%_with_pulseaudio_samsung_policy 1
-#Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
-#this -> Tizen Mobile is compiled with this option.
-#Owner: Ismo Puustinen <ismo.puustinen@intel.com>
-
-%tizen_version 3.0
-%tizen 3.0
-
-%vendor tizen
-%_vendor tizen
-