# perform documentation last, so it doesn't prevent code from building if there's an error
SUBDIRS += docs
+if ENABLE_CXX03_ABI
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = dali-toolkit-cxx03.pc
+else
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dali-toolkit.pc
+endif
MAINTAINERCLEANFILES = \
aclocal.m4 \
@test -z $(COVERAGE_DIR) || mkdir -p $(COVERAGE_DIR)
@rm -f $(COVERAGE_DIR)/*
@cp dali-toolkit/.libs/*.gcda dali-toolkit/.libs/*.gcno $(COVERAGE_DIR)
- @for i in `find $(COVERAGE_DIR) -name "libdali_toolkit_la-*.gcda" -o -name "libdali_toolkit_la-*.gcno"` ;\
- do mv $$i `echo $$i | sed s/libdali_toolkit_la-//` ; echo $$i ; done
+ @for i in `find $(COVERAGE_DIR) -name "libdali_toolkit*_la-*.gcda" -o -name "libdali_toolkit*_la-*.gcno"` ;\
+ do mv $$i `echo $$i | sed s/libdali_toolkit*_la-//` ; echo $$i ; done
cov_data: rename_cov_data
@cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --base-directory . --directory . -c -o dali.info
DALI_TOOLKIT_VERSION=dali_version
AC_SUBST(DALI_TOOLKIT_VERSION)
-PKG_CHECK_MODULES(DALICORE, dali-core)
DALI_TOOLKIT_CFLAGS=-DPLATFORM_TIZEN
[enable_csharp=$enableval],
[enable_csharp=automatic])
+AC_ARG_ENABLE([cxx03_abi],
+ [AC_HELP_STRING([--enable-cxx03-abi],
+ [Specify abi for the build])],
+ [enable_cxx03_abi=$enableval],
+ [enable_cxx03_abi=no])
+
+AM_CONDITIONAL([ENABLE_CXX03_ABI], [test x$enable_cxx03_abi = xyes])
+
+if test "x$enable_cxx03_abi" = "xyes"; then
+ DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
+fi
+
if test "x$enable_debug" = "xyes"; then
DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -DDEBUG_ENABLED"
fi
AC_SUBST(DALITOOLKIT_LIBS)
fi
+if test "x$enable_cxx03_abi" = "xyes"; then
+PKG_CHECK_MODULES(DALICORE, dali-core-cxx03)
+else
+PKG_CHECK_MODULES(DALICORE, dali-core)
+fi
+
#set a variable for the makefile to force compile the csharp plugin
AM_CONDITIONAL([ENABLE_CSHARP_PLUGIN], [test x$build_csharp_plugin = xyes])
AM_CONDITIONAL([ENABLE_RUBY_FLAG], [test x$build_ruby_flag = xyes])
dali-toolkit/Makefile
plugins/javascript/Makefile
plugins/csharp/Makefile
- dali-toolkit.pc
docs/Makefile
docs/dali.doxy
docs-internal/dali-internal.doxy
../../automated-tests/CMakeLists.txt
])
+if test "x$enable_cxx03_abi" = "xyes"; then
+AC_CONFIG_FILES([dali-toolkit-cxx03.pc])
+else
+AC_CONFIG_FILES([dali-toolkit.pc])
+fi
+
AC_OUTPUT
echo "
--- /dev/null
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+apiversion=@DALI_TOOLKIT_VERSION@
+libdir=@libdir@
+includedir=@devincludepath@
+
+Name: Samsung OpenGLES Toolkit (including Toolkit)
+Description: 3D Canvas Toolkit using OpenGLES (with the toolkit)
+Version: ${apiversion}
+Requires: dali-core-cxx03
+Libs: -L${libdir} -ldali-toolkit
+Cflags: -I${includedir}
Description: 3D Canvas Toolkit using OpenGLES (with the toolkit)
Version: ${apiversion}
Requires: dali-core
-Libs: -L${libdir} -ldali-toolkit
+Libs: -L${libdir} -ldali-toolkit_cxx11
Cflags: -I${includedir}
package_doxy_dir = ../../../doc
include ../../../doc/file.list
-# The library
+if ENABLE_CXX03_ABI
+
lib_LTLIBRARIES = libdali-toolkit.la
libdali_toolkit_la_SOURCES = \
$(FRIBIDI_LIBS) \
$(HTMLCXX_LIBS)
+
+else
+# The library
+lib_LTLIBRARIES = libdali-toolkit_cxx11.la
+
+libdali_toolkit_cxx11_la_SOURCES = \
+ $(toolkit_src_files) \
+ $(public_api_src_files) \
+ $(devel_api_src_files) \
+ $(third_party_src_files)
+
+dalistyledir = ${dataReadOnlyDir}/toolkit/styles/
+dalistyle_DATA = ${dali_toolkit_style_files}
+
+dalistyleimagesdir = ${dataReadOnlyDir}/toolkit/styles/images/
+dalistyleimages_DATA = ${dali_toolkit_style_images}
+
+libdali_toolkit_cxx11_la_DEPENDENCIES =
+
+libdali_toolkit_cxx11_la_CXXFLAGS = -DDALI_COMPILATION \
+ -DDALI_IMAGE_DIR="\"${daliimagedir}\"" \
+ -DDALI_SOUND_DIR="\"${dalisounddir}\"" \
+ -DDALI_STYLE_DIR="\"${dalistyledir}\"" \
+ -DDALI_STYLE_IMAGE_DIR="\"${dalistyleimagesdir}\"" \
+ -DDALI_DATA_READ_ONLY_DIR="\"${dataReadOnlyDir}\"" \
+ -Werror -Wall \
+ -I../../../ \
+ $(DALI_TOOLKIT_CFLAGS) \
+ $(DALICORE_CFLAGS) \
+ $(DLOG_CFLAGS) \
+ $(FRIBIDI_CFLAGS) \
+ $(HTMLCXX_CFLAGS)
+
+libdali_toolkit_cxx11_la_LIBADD = \
+ $(DALICORE_LIBS) \
+ $(DLOG_LIBS) \
+ $(FRIBIDI_LIBS) \
+ $(HTMLCXX_LIBS)
+endif
# Install headers
topleveldir = $(devincludepath)/dali-toolkit
BuildRequires: pkgconfig
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(dali-core)
+BuildRequires: pkgconfig(dali-core-cxx03)
BuildRequires: gettext
# dali-toolkit only need to know the interfaces(APIs) of dali-adaptor(the devel package).
# It doesn't need to know which adaptor will be used by applications.
# Applications or dali-addon will decide which one they will use.
BuildRequires: dali-adaptor-devel
+BuildRequires: dali-adaptor-devel-cxx03
+
#need libtzplatform-config for directory if tizen version is 3.x
dali-toolkit default resource files for 1920x1080
Contain po / sounds / common images / style / style images
+%package cxx03
+Summary: The OpenGLES Canvas Core Library Toolkit with cxx03
+Provides: %{name}-cxx03 = %{version}-%{release}
+
+%description cxx03
+The OpenGLES Canvas Core Library Toolkit with cxx03
+
+##############################
+# devel cxx03
+##############################
+%package devel-cxx03
+Summary: Application development package for the OpenGLES Canvas toolkit with cxx03 abi
+Group: Development/Building
+Requires: %{name}-cxx03 = %{version}-%{release}
+
+%description devel-cxx03
+Application development package for the OpenGLES Canvas toolkit - headers and package config
+with cxx03 abi
+
##############################
# devel
##############################
##############################
%build
PREFIX="/usr"
-CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -D_GLIBCXX_USE_CXX11_ABI=0 "
+CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
%if 0%{?enable_coverage}
make %{?jobs:-j%jobs}
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-toolkit_cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
+mv pkgconfig/dali-toolkit.pc %{_builddir}/%{name}-%{version}/build/tizen/dali-toolkit.pc
+popd
+
+make clean
+
+libtoolize --force
+cd %{_builddir}/dali-toolkit-%{version}/build/tizen
+autoreconf --install
+
+DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
+DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
+
+%configure --enable-profile=TIZEN \
+ --with-style=%{dali_style_folder} \
+ --enable-cxx03-abi=yes \
+%if 0%{?enable_debug}
+ --enable-debug \
+%endif
+ --enable-i18n=yes
+
+make %{?jobs:-j%jobs}
+
+
##############################
# Installation
##############################
%install
rm -rf %{buildroot}
-pushd build/tizen
+pushd %{_builddir}/%{name}-%{version}/build/tizen
%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+for FILE in libdali-toolkit_cxx11.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+mv dali-toolkit.pc %{buildroot}%{_libdir}/pkgconfig/dali-toolkit.pc
+
# PO
{
cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
%manifest dali-toolkit.manifest
%endif
%defattr(-,root,root,-)
-%{_libdir}/lib%{name}.so*
+%{_libdir}/libdali-toolkit_cxx11.so*
+%license LICENSE
+
+%files cxx03
+%if 0%{?enable_dali_smack_rules}
+%manifest dali-toolkit.manifest-smack
+%else
+%manifest dali-toolkit.manifest
+%endif
+%defattr(-,root,root,-)
+%{_libdir}/libdali-toolkit.so*
%license LICENSE
%files devel
%defattr(-,root,root,-)
-%{dev_include_path}/%{name}/*
-%{_libdir}/pkgconfig/*.pc
+%{dev_include_path}/dali-toolkit/*
+%{_libdir}/pkgconfig/dali-toolkit.pc
+
+%files devel-cxx03
+%defattr(-,root,root,-)
+%{dev_include_path}/dali-toolkit/*
+%{_libdir}/pkgconfig/dali-toolkit-cxx03.pc
%post resources_480x800
pushd %{dali_toolkit_style_files}/480x800