- update build tools.
authorRonan Le Martret <ronan@fridu.net>
Wed, 24 Jul 2013 16:03:36 +0000 (18:03 +0200)
committerRonan Le Martret <ronan@fridu.net>
Wed, 24 Jul 2013 16:03:36 +0000 (18:03 +0200)
meta-tizen-ivi/classes/tizenBuildUtils.bbclass
meta-tizen-ivi/classes/tizen_cmake.bbclass [new file with mode: 0644]
meta-tizen-ivi/recipes-tizen/media-data-sdk/media-data-sdk-extraconf.inc
proto-meta-Tizen_ivi_3.0/rpm_tizen_macro/lib/find-lang.sh
proto-meta-Tizen_ivi_3.0/specfile-patch/embryo.spec.patch [new file with mode: 0644]
proto-meta-Tizen_ivi_3.0/specfile-patch/gst-plugins-base-yocto.spec.patch [new file with mode: 0644]
proto-meta-Tizen_ivi_3.0/specfile-patch/media-data-sdk.spec.patch [new file with mode: 0644]

index 7bbdfdd..faee2ab 100644 (file)
@@ -16,7 +16,8 @@ do_patch () {
 export S=${S}  
 export WORKDIR=${WORKDIR} 
 export PACKAGING=${PACKAGING} 
-export HOST_SYS=${HOST_SYS} 
+export HOST_SYS=${HOST_SYS}
+export STAGING_DIR_HOST=${STAGING_DIR_HOST}
 EOC
  SPECPATH=$(spec2yocto findBestSpecFile ${PACKAGING}/packaging/ --package_pn=${BPN})
  spec2yocto prep ${SPECPATH} --package_pn=${PN} >> ${WORKDIR}/temp/Bash_patch
diff --git a/meta-tizen-ivi/classes/tizen_cmake.bbclass b/meta-tizen-ivi/classes/tizen_cmake.bbclass
new file mode 100644 (file)
index 0000000..9b9537b
--- /dev/null
@@ -0,0 +1,76 @@
+DEPENDS_prepend = "cmake-native "
+
+# We need to unset CCACHE otherwise cmake gets too confused
+CCACHE = ""
+
+# We want the staging and installing functions from autotools
+inherit autotools
+
+# Use in-tree builds by default but allow this to be changed
+# since some packages do not support them (e.g. llvm 2.5).
+OECMAKE_SOURCEPATH ?= "."
+
+# If declaring this, make sure you also set EXTRA_OEMAKE to
+# "-C ${OECMAKE_BUILDPATH}". So it will run the right makefiles.
+OECMAKE_BUILDPATH ?= ""
+B="${S}"
+
+# C/C++ Compiler (without cpu arch/tune arguments)
+OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
+OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
+
+# Compiler flags
+OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
+OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
+OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CFLAGS} -DNDEBUG"
+OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
+OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
+OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"
+
+OECMAKE_RPATH ?= ""
+OECMAKE_PERLNATIVE_DIR ??= ""
+OECMAKE_EXTRA_ROOT_PATH ?= ""
+
+tizen_cmake_do_generate_toolchain_file() {
+       cat > ${WORKDIR}/toolchain.cmake <<EOF
+# CMake system name must be something like "Linux".
+# This is important for cross-compiling.
+set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` )
+set( CMAKE_SYSTEM_PROCESSOR ${TARGET_ARCH} )
+set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
+set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} )
+set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
+set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
+set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
+set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
+set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
+set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
+
+# only search in the paths provided so cmake doesnt pick
+# up libraries and tools from the native build machine
+set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN})
+set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
+set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
+set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
+
+# Use qt.conf settings
+set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
+
+# We need to set the rpath to the correct directory as cmake does not provide any
+# directory as rpath by default
+set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
+
+# Use native cmake modules
+set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ )
+
+# add for non /usr/lib libdir, e.g. /usr/lib64
+set( CMAKE_LIBRARY_PATH ${libdir} ${base_libdir})
+
+EOF
+}
+
+addtask generate_toolchain_file after do_patch before do_configure
+
+
+
+EXPORT_FUNCTIONS do_generate_toolchain_file
index 413fb35..5c50257 100755 (executable)
@@ -123,7 +123,8 @@ rm -f $MO_NAME_NEW
 
 # remove languages we do not yet support - but give out statistics
 find "$TOP_DIR/usr/share/locale/" -maxdepth 1 -type d | sed 's:'"$TOP_DIR"/usr/share/locale/'::; /^$/d' | while read dir; do
-  if ! rpm -ql filesystem | egrep -q "/usr/share/locale/$dir"$; then
+# if ! rpm -ql filesystem | egrep -q "/usr/share/locale/$dir"$; then
+  if false ; then
     find $TOP_DIR/usr/share/locale/$dir -name *.mo | sed 's:'"$TOP_DIR"'::' | while read file; do
       echo -n "removing translation $file: "
       msgunfmt "$TOP_DIR/$file" | msgfmt --statistics -o /dev/null -
diff --git a/proto-meta-Tizen_ivi_3.0/specfile-patch/embryo.spec.patch b/proto-meta-Tizen_ivi_3.0/specfile-patch/embryo.spec.patch
new file mode 100644 (file)
index 0000000..ad8a593
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/packaging/embryo.spec b/packaging/embryo.spec
+index dede2d9..3ff828e 100644
+--- a/packaging/embryo.spec
++++ b/packaging/embryo.spec
+@@ -1,7 +1,7 @@
+ Name:           embryo
+ Version:        1.7.7
+ Release:        1
+-License:        Mixed BSD 2/3-clause
++License:        BSD-3-Clause
+ Summary:        A small virtual machine engine (in a library) and bytecode compiler
+ Url:            http://www.enlightenment.org/
+ Group:          Graphics/EFL
diff --git a/proto-meta-Tizen_ivi_3.0/specfile-patch/gst-plugins-base-yocto.spec.patch b/proto-meta-Tizen_ivi_3.0/specfile-patch/gst-plugins-base-yocto.spec.patch
new file mode 100644 (file)
index 0000000..c268ca2
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/packaging/gst-plugins-base.spec b/packaging/gst-plugins-base.spec
+index 431e9e5..c276ae2 100644
+--- a/packaging/gst-plugins-base.spec
++++ b/packaging/gst-plugins-base.spec
+@@ -333,7 +333,7 @@ to compile and link applications that use gstreamer-plugins-base.
+ %setup -q
+ cp %{SOURCE1001} .
+ rm -rf common
+-cp -a %{_datadir}/gst-common common
++cp -a ${STAGING_DIR_HOST}%{_datadir}/gst-common common
+ find common -exec touch {} \;
+ %build
diff --git a/proto-meta-Tizen_ivi_3.0/specfile-patch/media-data-sdk.spec.patch b/proto-meta-Tizen_ivi_3.0/specfile-patch/media-data-sdk.spec.patch
new file mode 100644 (file)
index 0000000..85c9b5f
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/packaging/media-data-sdk.spec b/packaging/media-data-sdk.spec
+index 962cdf6..ba9781e 100644
+--- a/packaging/media-data-sdk.spec
++++ b/packaging/media-data-sdk.spec
+@@ -20,9 +20,11 @@ Description: Media data for SDK. Image/Sounds/Videos and Others.
+ cp %{SOURCE1001} .
+ LDFLAGS+="-Wl,--rpath=%{PREFIX}/lib -Wl,--as-needed -Wl,--hash-style=both"; export LDFLAGS
+-cmake . -DCMAKE_INSTALL_PREFIX=%{_optdir}
++
+ %build
++cmake . -DCMAKE_INSTALL_PREFIX=%{_optdir}
++
+ make %{?jobs:-j%jobs}
+ %install
+@@ -123,7 +125,7 @@ sqlite3 %{buildroot}/opt/usr/dbspace/.media.db 'PRAGMA journal_mode = PERSIST;
+ #License
+ mkdir -p %{buildroot}/%{_datadir}/license
+-cp -rf %{_builddir}/%{name}-%{version}/LICENSE.CCPLv3.0 %{buildroot}/%{_datadir}/license/%{name}
++cp -rf LICENSE.CCPLv3.0 %{buildroot}/%{_datadir}/license/%{name}
+ %post
+ #change permission