From b1311cc02e6ee579e29daef6e856d2b214555c77 Mon Sep 17 00:00:00 2001 From: Youngcheol Kang Date: Wed, 3 Jun 2015 14:49:25 +0900 Subject: [PATCH] Updated the build script using ./build/build_xxx.sh 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 --- tizen_src/README.md | 61 ++++ tizen_src/build/build_emulator.sh | 11 +- tizen_src/build/common.sh | 74 +++-- tizen_src/build/gbs.conf | 36 ++ ...0_arm-x11.conf => tzmb_v3.0_arm64-wayland.conf} | 10 +- tizen_src/build/tztv_v3.0_arm-x11.conf | 361 --------------------- 6 files changed, 155 insertions(+), 398 deletions(-) rename tizen_src/build/{tzmb_v3.0_arm-x11.conf => tzmb_v3.0_arm64-wayland.conf} (97%) delete mode 100644 tizen_src/build/tztv_v3.0_arm-x11.conf diff --git a/tizen_src/README.md b/tizen_src/README.md index ee4642d..ec286df 100755 --- a/tizen_src/README.md +++ b/tizen_src/README.md @@ -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. diff --git a/tizen_src/build/build_emulator.sh b/tizen_src/build/build_emulator.sh index 066bd41..f49dcc8 100755 --- a/tizen_src/build/build_emulator.sh +++ b/tizen_src/build/build_emulator.sh @@ -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 diff --git a/tizen_src/build/common.sh b/tizen_src/build/common.sh index a3bf74b..1431a1c 100755 --- a/tizen_src/build/common.sh +++ b/tizen_src/build/common.sh @@ -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" diff --git a/tizen_src/build/gbs.conf b/tizen_src/build/gbs.conf index 7892554..7848ef9 100755 --- a/tizen_src/build/gbs.conf +++ b/tizen_src/build/gbs.conf @@ -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] diff --git a/tizen_src/build/tzmb_v3.0_arm-x11.conf b/tizen_src/build/tzmb_v3.0_arm64-wayland.conf 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 --- a/tizen_src/build/tzmb_v3.0_arm-x11.conf +++ b/tizen_src/build/tzmb_v3.0_arm64-wayland.conf @@ -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 index eb99478..0000000 --- a/tizen_src/build/tztv_v3.0_arm-x11.conf +++ /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: . -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 - -########## RDP flag ########## - -# enable/disable RDP (remote desktop protocol) for wayland -# flag: _with_rdp, used in repositories -# Affects: weston, freerdp -# Owner: Manuel - -########## 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 -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 -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 -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 -# 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 -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 -- 2.7.4