Updated the build script using ./build/build_xxx.sh
authorYoungcheol Kang <ychul.kang@samsung.com>
Wed, 3 Jun 2015 05:49:25 +0000 (14:49 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
1. Switched to Mobile 3.0 as the default target for build_mobile.sh

This patch changes the default target to 3.0 from 2.4.
Also we uses the arm64-wayland profile which is main target of 3.0
Mobile. This way we won't have to specify -P tzmb_v3.0_arm64-wayland
-A aarch64 flag when using the script.

2. Changed the build_emulator.sh script for mobile and tv target

This patch add the target option into the build_emulator.sh script.
We can build the mobile and tv emulator using the below build command.

$ ./tizen_src/build/build_emulator.sh [mobile/tv]

3. Added the mirror server to improve the download speed in HQ

This patch added the mirror server which provided by platform team to
gbs.conf in order to improve the download speed in HQ.

$ ./tizen_src/build/build_mobile.sh -P tzmb_v3.0_arm64-wayland_mirror
$ ./tizen_src/build/build_tv.sh -P tztv_v3.0_arm-wayland_mirror

4. Disabled the rpmlint for arm64-wayland profile of Tizen 3.0 Mobile

To improve the build time for developers, this patch add the
arm64-wayland profile. Also the tztv_v3.0_arm-x11.conf and
tzmb_v3.0_arm-x11.conf were removed because platform team doesn't
support x11 profile.

5. Updated the README.md

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=13158
Reviewed by: Antonio Gomes, SeungSeop Park

Change-Id: I1153a50efe3aaeb0c48bd5962c4267df32f0aa64
Signed-off-by: Youngcheol Kang <ychul.kang@samsung.com>
tizen_src/README.md
tizen_src/build/build_emulator.sh
tizen_src/build/common.sh
tizen_src/build/gbs.conf
tizen_src/build/tzmb_v3.0_arm64-wayland.conf [moved from tizen_src/build/tzmb_v3.0_arm-x11.conf with 97% similarity]
tizen_src/build/tztv_v3.0_arm-x11.conf [deleted file]

index ee4642d..ec286df 100755 (executable)
@@ -35,6 +35,67 @@ gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chro
 
     $ ./build/build_desktop.sh [-h|--help] [--skip-gyp] [--skip-ninja] [--ccache] [--debug]
 
+* For Mobile build
+
+    $ build/build_mobile.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1']
+                            [--define '_rpmlint 1'] [--ccache] [--gbs-debug]
+
+      [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
+      [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation (default : gyp generate)
+      [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
+      [--define 'nodebug 1']                        omit creation of debug packages
+                                                    (default: build debug packages too)
+                                                    Note: To let binaries to be recreated without debug symbols,
+                                                    this should be preceded by removing build directory.
+      [--define '_rpmlint 1']                       Enabling rpmlint on tizen v3.0
+                                                    Note: By default, it is disabled.
+      [--ccache]                                    see ### Using ccache inside gbs
+      [--gbs-debug]                                 Run gbs in debug mode
+
+* For TV build
+
+    $ build/build_tv.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1']
+                        [--define '_rpmlint 1'] [--ccache] [--gbs-debug]
+
+      [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
+      [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation  (default : gyp generate)
+      [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
+      [--define 'nodebug 1']                        omit creation of debug packages
+                                                    (default: build debug packages too)
+                                                    Note: To let binaries to be recreated without debug symbols,
+                                                    this should be preceded by removing build directory.
+      [--define '_rpmlint 1']                       Enabling rpmlint on tizen v3.0
+                                                    Note: By default, it is disabled.
+      [--ccache]                                    see ### Using ccache inside gbs
+      [--gbs-debug]                                 Run gbs in debug mode
+
+
+* For Emulator build
+
+    $ build/build_emulator.sh mobile/tv [--clean] [--debug] [--skip-gyp] [--skip-ninja]
+                                        [--define 'nodebug 1'] [--ccache] [--gbs-debug]
+
+      [--define '_debug_mode 1'] or [--debug]       perform debug build (default : release)
+      [--define '_skip_gyp 1'] or [--skip-gyp]      skip gyp generation  (default : gyp generate)
+      [--define '_skip_ninja 1'] or [--skip-ninja]  skip ninja execution (default : ninja executes)
+      [--define 'nodebug 1']                        omit creation of debug packages
+                                                    (default: build debug packages too)
+                                                    Note: To let binaries to be recreated without debug symbols,
+                                                    this should be preceded by removing build directory.
+      [--ccache]                                    see ### Using ccache inside gbs
+      [--gbs-debug]                                 Run gbs in debug mode
+
+## Using ccache inside gbs
+
+To use ccache for faster full builds use --ccache parameter:
+gbs build --ccache ...
+
+Prerequisites:
+* 10GB free space
+
+ccache directory will be created with profile and architecture prefix e.g:
+out.mobile.arm.ccache
+
 ## Coding style
 
 Internally we use the chromium coding style: http://www.chromium.org/developers/coding-style.
index 066bd41..f49dcc8 100755 (executable)
@@ -3,4 +3,13 @@
 # source common functions and vars
 . `dirname $0`/common.sh
 
-setupAndExecuteTargetBuild emulator "$@"
+platform="$1"
+shift
+
+if [ "$platform" == "mobile" ]; then
+  setupAndExecuteTargetBuild mobile_emulator "$@"
+elif [ "$platform" == "tv" ]; then
+  setupAndExecuteTargetBuild tv_emulator "$@"
+else
+  echo "Cannot build emulator for platform=$platform"
+fi
index a3bf74b..1431a1c 100755 (executable)
@@ -160,43 +160,58 @@ function setupAndExecuteTargetBuild() {
   local platform="$1"
   shift
 
-  local PROFILE_NAME
-  local DEFAULT_PROFILE_NAME
+  local PROFILE
   local ARCHITECTURE
   local CONF_FLAG
   local -a ARGS
 
   # "|| :" means "or always succeeding built-in command"
-  PROFILE_NAME=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" || :)
-
-  if [[ $platform == "mobile" ]]; then
-    DEFAULT_PROFILE_NAME=tizenmb_v2.4
-    ARCHITECTURE=armv7l
-  elif [[ $platform == "tv" ]]; then
-    DEFAULT_PROFILE_NAME=tztv_v3.0_arm-wayland
-    ARCHITECTURE=armv7l
-  elif [[ $platform == "emulator" ]]; then
-    DEFAULT_PROFILE_NAME=tizen_emulator_v2.4
-    ARCHITECTURE=i586
+  PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" || :)
+  ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" || :)
+
+  if [ "$PROFILE" == "" ]; then
+    if [[ $platform == "mobile" ]]; then
+      PROFILE=tzmb_v3.0_arm64-wayland
+    elif [[ $platform == "mobile_emulator" ]]; then
+      PROFILE=tzmb_v3.0_emulator-wayland
+    elif [[ $platform == "tv" ]]; then
+      PROFILE=tztv_v3.0_arm-wayland
+    elif [[ $platform == "tv_emulator" ]]; then
+      PROFILE=tztv_v3.0_emulator-wayland
+    else
+      echo "Cannot set default PROFILE for platform=${platform}"
+      exit 1
+    fi
   fi
-
-  if [ "$PROFILE_NAME" == "" ]; then
-    PROFILE_NAME=$DEFAULT_PROFILE_NAME
+  echo "Set the profile : $PROFILE"
+
+  if [ "$ARCHITECTURE" == "" ]; then
+    if [[ $platform == "mobile" ]]; then
+      ARCHITECTURE=aarch64
+    elif [[ $platform == "mobile_emulator" ]]; then
+      ARCHITECTURE=i586
+    elif [[ $platform == "tv" ]]; then
+      ARCHITECTURE=armv7l
+    elif [[ $platform == "tv_emulator" ]]; then
+      ARCHITECTURE=i586
+    else
+      echo "Cannot set default ARCHITECTURE for platform=${platform}"
+      exit 1
+    fi
   fi
-
-  PROFILE_FLAG="-P $PROFILE_NAME"
+  echo "Set the architecture : $ARCHITECTURE"
 
   if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
     CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
   fi
 
   EXTRA_PACK_OPTS=""
-  if [ "$PROFILE_NAME" == "tztv_v2.2.1_prehawk" ]; then
+  if [ "$PROFILE" == "tztv_v2.2.1_prehawk" ]; then
     EXTRA_PACK_OPTS="--extra-packs python-base-x86-arm,python-x86-arm,python-xml-x86-arm"
   fi
 
-  if [ "$(echo "${PROFILE_NAME}" | grep -Po "v3.0")" != "" ]; then
-    prepareTizen3Build $PROFILE_NAME
+  if [ "$(echo "${PROFILE}" | grep -Po "v3.0")" != "" ]; then
+    prepareTizen3Build $PROFILE
   fi
 
   local count=0
@@ -237,11 +252,11 @@ function setupAndExecuteTargetBuild() {
   rm -f packaging
   ln -sf tizen_src/packaging packaging
 
-  gbs $CONF_FLAG build $PROFILE_FLAG --include-all -A $ARCHITECTURE --incremental "${ARGS[@]}" $BUILD_CONF_OPTS $EXTRA_PACK_OPTS
+  gbs $CONF_FLAG build -P $PROFILE --include-all -A $ARCHITECTURE --incremental "${ARGS[@]}" $BUILD_CONF_OPTS $EXTRA_PACK_OPTS
 }
 
 function prepareTizen3Build() {
-  local PROFILE_NAME=$1
+  local PROFILE=$1
   BUILD_CONF_OPTS=""
 
   # In case of '_rpmlint 1', build.conf of gbs repo will be used, enabling rpmlint.
@@ -249,18 +264,15 @@ function prepareTizen3Build() {
   local PREVIOUS_BUILD_CONF_PATH=""
   local LOCAL_BUILD_CONF_PATH=""
 
-  if [ "$PROFILE_NAME" == "tztv_v3.0" ]; then
-    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tztv_v3.0_arm-x11.conf"
-    LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tztv_v3.0_arm-x11.conf"
-  elif [ "$PROFILE_NAME" == "tzmb_v3.0" ]; then
-    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm-x11.conf"
-    LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tzmb_v3.0_arm-x11.conf"
-  elif [ "$PROFILE_NAME" == "tztv_v3.0_arm-wayland" ]; then
+  if [ "$PROFILE" == "tztv_v3.0_arm-wayland" ]; then
     PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tztv_v3.0_arm-walynad.conf"
     LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tztv_v3.0_arm-wayland.conf"
-  elif [ "$PROFILE_NAME" == "tzmb_v3.0_arm-wayland" ]; then
+  elif [ "$PROFILE" == "tzmb_v3.0_arm-wayland" ]; then
     PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm-walynad.conf"
     LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tzmb_v3.0_arm-wayland.conf"
+  elif [ "$PROFILE" == "tzmb_v3.0_arm64-wayland" ]; then
+    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm64-walynad.conf"
+    LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tzmb_v3.0_arm64-wayland.conf"
   fi
 
   local PREVIOUS_RPMLINT="!rpmlint"
index 7892554..7848ef9 100755 (executable)
@@ -169,6 +169,18 @@ url = http://download.tizen.org/snapshots/tizen/tv/latest/repos/arm-wayland/pack
 
 ###############################################
 #
+# Tizen v3.0 for tv (arm-wayland), Mirroring Server for HQ developers
+#
+[profile.tztv_v3.0_arm-wayland_mirror]
+obs = obs.tizen_v3.0
+repos = repo.tztv_v3.0_arm-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-TV-ARM-WAYLAND
+
+[repo.tztv_v3.0_arm-wayland_mirror]
+url = http://10.252.81.117/snapshots/tv/latest/repos/arm-wayland/packages/
+
+###############################################
+#
 # Tizen v3.0 for tv (emulator32-wayland)
 #
 [profile.tztv_v3.0_emulator-wayland]
@@ -193,6 +205,18 @@ url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/arm-wayland/
 
 ###############################################
 #
+# Tizen v3.0 for mobile (arm-wayland), Mirroring Server for HQ developers
+#
+[profile.tzmb_v3.0_arm-wayland_mirror]
+obs = obs.tizen_v3.0
+repos = repo.tzmb_v3.0_arm-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM-WAYLAND
+
+[repo.tzmb_v3.0_arm-wayland_mirror]
+url = http://10.252.81.117/snapshots/mobile/latest/repos/arm-wayland/packages/
+
+###############################################
+#
 # Tizen v3.0 for mobile (arm64-wayland)
 #
 [profile.tzmb_v3.0_arm64-wayland]
@@ -205,6 +229,18 @@ url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/arm64-waylan
 
 ###############################################
 #
+# Tizen v3.0 for mobile (arm64-wayland), Mirroring Server for HQ developers
+#
+[profile.tzmb_v3.0_arm64-wayland_mirror]
+obs = obs.tizen_v3.0
+repos = repo.tzmb_v3.0_arm64-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM64-WAYLAND
+
+[repo.tzmb_v3.0_arm64-wayland_mirror]
+url = http://10.252.81.117/snapshots/mobile/latest/repos/arm64-wayland/packages/
+
+###############################################
+#
 # Tizen v3.0 for mobile (emulator-wayland)
 #
 [profile.tzmb_v3.0_emulator-wayland]
similarity index 97%
rename from tizen_src/build/tzmb_v3.0_arm-x11.conf
rename to tizen_src/build/tzmb_v3.0_arm64-wayland.conf
index 1fdf0f2..a75b283 100644 (file)
@@ -1,18 +1,18 @@
 %define _project Tizen:Mobile
 
 ### from Tizen:Mobile
-%define _repository arm-x11
+%define _repository arm64-wayland
 
 Macros:
 %vendor obs://build.tizen.org/Tizen:Mobile
 %_project Tizen:Mobile
 
-%distribution Tizen:Mobile / arm-x11
+%distribution Tizen:Mobile / arm64-wayland
 %_project Tizen:Mobile
 
 ### from Tizen:Mobile
 
-%_repository arm-x11
+%_repository arm64-wayland
 :Macros
 
 ################################################################################
@@ -136,7 +136,7 @@ Macros:
 
 ############################# emulator repositories ############################
 
-%if "%_repository" == "emulator32-wayland"
+%if "%_repository" == "emulator32-wayland" || "%_repository" == "emulator64-wayland"
 
 Prefer: mesa-libGLESv2
 Prefer: libwayland-egl
@@ -281,7 +281,7 @@ Preinstall: libmagic
 Preinstall: liblua
 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
 Preinstall: libsqlite
-Preinstall: rpm-security-plugin
+#Preinstall: rpm-security-plugin
 Preinstall: util-linux
 
 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux
diff --git a/tizen_src/build/tztv_v3.0_arm-x11.conf b/tizen_src/build/tztv_v3.0_arm-x11.conf
deleted file mode 100644 (file)
index eb99478..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-%define _project Tizen:TV
-
-### from Tizen:TV
-%define _repository arm-x11
-
-Macros:
-%vendor obs://build.tizen.org/Tizen:TV
-%_project Tizen:TV
-
-%distribution Tizen:TV / arm-x11
-%_project Tizen:TV
-
-### from Tizen:TV
-
-%_repository arm-x11
-:Macros
-
-################################################################################
-# OBS Project config for Tizen:TV
-#
-# RE contacts:
-# Joonsub Lee (joon-sub.lee@samsung.com)
-# Yooduck Seo (yooduck.seo@samsung.com)
-#
-# vim: set syntax=spec:
-################################################################################
-
-Patterntype: rpm-md comps
-Release: <CI_CNT>.<B_CNT>
-Support: build
-Support: build-compare build-mkbaselibs
-Support: !rpmlint-mini !rpmlint-tizen
-
-############################# conflicts resolution #############################
-
-FileProvides: /usr/sbin/groupadd pwdutils
-Prefer: util-linux
-Prefer: libtapi-devel
-Prefer: libpci-devel
-
-############################# profile definition ###############################
-
-%define profile tv
-%define _with_tizen 1
-
-# %release_name and %tizen_full_version are used in platform/upstream/tizen-release
-
-Macros:
-%profile tv
-%release_name Tizen3/TV
-
-%tizen_version_major 3
-%tizen_version_minor 0
-%tizen_version_patch 0
-
-%tizen_version %{tizen_version_major}.%{tizen_version_minor}
-%tizen_full_version %{tizen_version}.%{tizen_version_patch}
-%tizen %tizen_version
-%vendor tizen
-%_vendor tizen
-%_with_tizen 1
-
-%check exit 0
-%run_check_section 0
-%opensuse_bs 1
-%_default_patch_fuzz   2
-:Macros
-
-############################# display system ###################################
-
-########## display system selection ##########
-
-# selection of the display system
-# this selection is done for each repository
-#
-# flags combinations:
-# |----------------------------------------------------
-# | wayland |  x  | meaning
-# |----------------------------------------------------
-# |         |  1  | pure X11 platform(no wayland)
-# |   1     |     | pure wayland platform (no X11)
-# |   1     |  1  | wayland but X compatibility
-# |         |     | 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)
-   #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"
-
-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"
-
-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"
-
-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 repositories ############################
-
-%if "%_repository" == "emulator32-x11"
-
-Prefer: mesa-libGLESv2
-Prefer: mesa-libGL
-Prefer: mesa-libEGL
-
-Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
-Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
-
-%define _with_x 1
-%define _with_emulator 1
-
-Macros:
-%_with_x 1
-%_with_emulator 1
-:Macros
-
-%endif
-
-############################# misc config flags ################################
-
-# 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
-Macros:
-%_with_pulseaudio_samsung_policy 1
-:Macros
-
-# Activate introspection
-# This is needed on GuPNP to build Rygel correctly in IVI
-# Impacts potentially packages that use gobject-introspection
-# Owner: Mikko <mikko.ylinen@intel.com>
-Macros:
-%_with_introspection 1
-:Macros
-
-############################# build config #####################################
-
-%define gcc_version 49
-Macros:
-%gcc_version 49
-:Macros
-
-########## targets ##########
-
-%ifarch i586
-Target: i686-tizen-linux
-%endif
-
-%ifarch armv7hl
-Target: armv7hl-tizen-linux
-%endif
-
-%ifarch armv7l
-Target: armv7l-tizen-linux
-%endif
-
-%ifarch aarch64
-Target: aarch64-tizen-linux
-%endif
-
-########## cross build ##########
-
-%ifarch %arm armv7l
-Hostarch: x86_64
-# cross build support for the build hosts
-Preinstall: qemu-linux-user-cross-arm
-Keep: qemu-linux-user-cross-arm
-%endif
-
-%ifarch armv7hl
-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
-Preinstall: libmount libblkid libuuid
-%endif
-
-%ifarch aarch64
-Hostarch: x86_64
-Preinstall: qemu-linux-user-cross-arm
-Keep: qemu-linux-user-cross-arm
-Preinstall: qemu-accel-aarch64-cross-aarch64
-Runscripts: qemu-accel-aarch64-cross-aarch64
-Preinstall: libmount libblkid libuuid
-%endif # aarch64
-
-########## exports for different architectures ##########
-
-ExportFilter: \.armv7l\.rpm$ armv7l
-ExportFilter: \.aarch64\.rpm$ aarch64
-ExportFilter: \.x86_64\.rpm$ x86_64
-
-########## buildroot config ##########
-
-Preinstall: setup filesystem
-RunScripts: setup
-
-Preinstall: bash bzip2 coreutils diffutils grep rpm
-Preinstall: glibc libacl libattr
-Preinstall: libcap
-Preinstall: libgcc_s1
-Preinstall: libpopt sed tar zlib
-Preinstall: libncurses libreadline
-Preinstall: libelf libbz2
-Preinstall: liblzma
-Preinstall: nss nspr libfreebl3 libsoftokn3
-Preinstall: libmagic
-Preinstall: liblua
-Preinstall: smack libsmack libxml2 libmagic  libmagic-data
-Preinstall: libsqlite
-Preinstall: rpm-security-plugin
-Preinstall: util-linux
-
-VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux
-
-Required: binutils gcc glibc rpm-build libtool
-
-Support: glibc-locale
-Support: perl
-Support: hostname
-Support: cpio findutils
-Support: file findutils zlib bzip2
-Support: gzip hostname net-tools
-Support: make  patch sed  gawk tar grep coreutils pkg-config
-Support: m4  tzdata
-Support: util-linux
-Support: less
-Support: which  elfutils
-Support: update-alternatives
-
-# FIXME: TO REMOVE (? comes from IVI)
-Support: gcc-c++
-
-Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
-Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
-Keep: cpp gcc libstdc++
-Keep: pam
-Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
-Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
-Keep: make  gmp libcap groff cpio
-Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
-Keep: kernel-headers  perl-libs perl
-Keep: pkgconfig glib2 tizen-rpm-config
-Keep: libmpc libmpfr libppl libgmp libppl_c
-Keep: libcloog libppl libgmpxx
-Keep: nss-softokn-freebl libmagic libmagic-data
-Keep: setup
-Keep: update-alternatives
-Prefer: libstdc++%{gcc_version} libgcc%{gcc_version}
-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
-
-Optflags: x86_64 -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 -m64 -march=corei7 -msse4.2  -mtune=corei7-avx -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer  -fipa-cp-clone
-
-#generic arm platform
-#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 -Wp,-D__SOFTFP__
-
-#activate neon FPU instructions set (crosswalk build)
-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=neon -mfloat-abi=softfp -Wp,-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 -march=armv8-a+fp+simd+crc+crypto
\ No newline at end of file